在父窗口所在的屏幕上显示子窗口
Posted
技术标签:
【中文标题】在父窗口所在的屏幕上显示子窗口【英文标题】:Display child window on the screen where the parent window is located 【发布时间】:2012-12-19 14:27:32 【问题描述】:C++ 我有一个可以从主窗口启动的模态子窗口。该应用程序在 Citrix 服务器上运行,当用户使用双显示器时,她可以将子窗口拖到辅助显示器上,Windows 会以某种方式保存这个位置。当她移动到具有单个显示器的工作站时,她抱怨应用程序冻结,而实际上子窗口不在屏幕上,并且可以通过一些组合键将其带到主显示器。有没有办法以编程方式强制子窗口始终在父窗口所在的屏幕上打开?
【问题讨论】:
技术上,第二个窗口是一个拥有的窗口,而不是一个子窗口,尽管术语经常被混淆。子窗口只能在其父窗口的客户区内绘制。 【参考方案1】:您可以尝试调用CWnd::CenterWindow
,这会将窗口定位在主监视器的中心(通常位于父窗口上方)。
【讨论】:
谢谢,我试试看。【参考方案2】:您应该覆盖PreCreateWindow 并修改CREATESTRUCT 中的相应条目以强制窗口进入可见区域。可以在MSDN(“在多个显示器上定位对象”)找到定位窗口的指南。
【讨论】:
以上是关于在父窗口所在的屏幕上显示子窗口的主要内容,如果未能解决你的问题,请参考以下文章
jquery,iframe,如何在父窗口监听,子窗口发生改变时,父窗口获取子窗口的值