当前位置:  开发笔记 > 编程语言 > 正文

永远在前的对话框

如何解决《永远在前的对话框》经验,为你挑选了1个好方法。

有没有办法创建一个无模式在C++ MFC中对话框,它始终位于应用程序中的其他窗口之上?我认为有点像Visual Studio 2005中的查找对话框 - 它保持在顶部,但您仍然可以编辑基础文本.

(如果它有任何区别,它不是MDI;它是一个基于对话框的应用程序)



1> Adam Davis..:

来自尼什:

使您的对话保持最佳状态

你有没有看到有"永远保持在最佳状态"选项的程序?令人难以置信的是,只需一行代码就可以让对话保持最佳状态.只需将以下行放在对话框类的OnInitDialog()函数中.

SetWindowPos(&this->wndTopMost,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);

基本上我们正在做的是使用SetWindowPos函数来更改对话框窗口的Z顺序.我们通过将对话框移动到Z顺序的顶部使对话框保持在所有其他窗口之上.现在,即使您激活其他窗口,我们的窗口也会保持在最顶层.但是我建议你确保在你这样做的时候确切地知道你在做什么,因为如果他们想要那样做不能让你的窗户挡开,它可能会让人烦恼.

正如您在评论中提到的,上面的行使窗口位于每个应用程序的顶部.你需要做的

SetWindowPos(&this->wndTop,0,0,0,0,SWP_NOMOVE|SWP_NOSIZE);

使窗口仅位于您的应用程序之上.

-亚当

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有