MFC:将两个窗口/对话框“粘合”在一起

时间:2010-04-14 13:18:56

标签: mfc visual-c++-2005 sticky-windows

我正在设置一些东西,所以我的主对话框有一个或多个子对话框,这些对话框粘贴/停靠到主对话框的外部 - 当主对话框最小化时,孩子们也是,当主要对话移动时,孩子们随之移动。

我尝试将子对话框设置为主对话框CWnd为父级,具有CHILD样式。但随后他们被父母的边界所削减。如果我将它们设置为POPUP,它们可以在外面,但不要随父项一起移动。

我正在寻找在父对话框上放置一个OnMove处理程序,但内置了什么?并且,如果儿童对话仍然是主对话的孩子...我认为他们应该?

这是VS2005(我认为VS2008有一些相关功能,所以我提到了这一点。)

3 个答案:

答案 0 :(得分:1)

你需要在弹出窗口时手动实现移动,是的,它们应该是弹出窗口,否则它们将被剪掉。

答案 1 :(得分:1)

我是SO的新手。不确定我是否可以参考外部文章。 我想this就是你要找的。

  

我开始写这个课因为   我经常需要额外弹出   围绕主要对话框的对话框。经常   这些对话可能会给你带来一些麻烦   用户;例如,他必须   一个接一个地移动/关闭它们......   可以给出的解决方案   应用更加坚实的方面和   这可以使管理   各种窗户更容易,到   并排停靠所有对话框(如   例如,Winamp确实如此。

答案 2 :(得分:0)

正如Roel所说,你的额外对话框需要弹出窗口。我很感兴趣:这是什么样的用户界面?它是WinAmp风格的,窗户互相撞击吗?

或者您正在进行某种扩展对话?如果它是一个扩展对话框(例如,上面有一个More>>按钮),那么你可以将所有控件放在同一个对话框中,并在显示/隐藏附加内容时使用窗口rect。