2

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

4

2 回答 2

2

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

于 2012-12-19T14:34:07.920 回答
0

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

于 2012-12-19T18:49:57.230 回答