【问题标题】:Display child window on the screen where the parent window is located在父窗口所在的屏幕上显示子窗口
【发布时间】:2012-12-19 14:27:32
【问题描述】:

C++ 我有一个可以从主窗口启动的模态子窗口。该应用程序在 Citrix 服务器上运行,当用户使用双显示器时,她可以将子窗口拖到辅助显示器上,Windows 会以某种方式保存这个位置。当她移动到具有单个显示器的工作站时,她抱怨应用程序冻结,而实际上子窗口不在屏幕上,并且可以通过一些组合键将其带到主显示器。有没有办法以编程方式强制子窗口始终在父窗口所在的屏幕上打开?

【问题讨论】:

  • 技术上,第二个窗口是一个拥有的窗口,而不是一个子窗口,尽管术语经常被混淆。子窗口只能在其父窗口的客户区内绘制。

标签: c++ mfc childwindow


【解决方案1】:

您可以尝试调用CWnd::CenterWindow,这会将窗口定位在主监视器的中心(通常位于父窗口上方)。

【讨论】:

  • 谢谢,我试试看。
【解决方案2】:

您应该覆盖PreCreateWindow 并修改CREATESTRUCT 中的相应条目以强制窗口进入可见区域。可以在MSDN(“在多个显示器上定位对象”)找到定位窗口的指南。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-25
    • 1970-01-01
    • 1970-01-01
    • 2017-08-24
    相关资源
    最近更新 更多