• 7832阅读
  • 6回复

[提问]如何判断对话框是否是置顶窗口,win api有类似的wndTopMost。>>>大虾们都回家过年了吗?求帮忙啊<<< [复制链接]

上一主题 下一主题
离线bellgrade
 

只看楼主 倒序阅读 楼主  发表于: 2012-01-10
需要判断自己是否是windows顶层窗口(最顶层的)


有帖子讲到设置窗口属性使其置顶,但都没有讲如何判断?


离线XChinux

只看该作者 1楼 发表于: 2012-01-18
Re:如何判断对话框是否是置顶窗口,win api有类似的wndTopMost。>>>大虾们都回家过年了吗?求 ..
Qt::WindowFlags里面有Qt::WindowStayOnTop,用它来判断。

windowFlags().testFlag(Qt::WindowStaysOnTopHint);


不过如果有多个StayOnTop窗口的话,怎么判断哪个是最顶级的,这个谁有现成方法?
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线bellgrade

只看该作者 2楼 发表于: 2012-02-15
回 1楼(XChinux) 的帖子
这个不行啊,貌似始终为false,我要判断的是该对话框是否位于windows的顶层,
离线fish0619

只看该作者 3楼 发表于: 2012-02-15
Re:如何判断对话框是否是置顶窗口,win api有类似的wndTopMost。>>>大虾们都回家过年了吗?求 ..
不如判断是不是获得键盘焦点。
离线bellgrade

只看该作者 4楼 发表于: 2012-02-15
回 3楼(fish0619) 的帖子
对哦,但如何知道窗口能获得键盘焦点呢?hasFocus不行啊,因为受子控件的影响
离线bellgrade

只看该作者 5楼 发表于: 2012-02-15
Re:Re:如何判断对话框是否是置顶窗口,win api有类似的wndTopMost。>>>大虾们都回家过年了吗? ..
引用第3楼fish0619于2012-02-15 12:42发表的 Re:如何判断对话框是否是置顶窗口,win api有类似的wndTopMost。>>>大虾们都回家过年了吗?求 .. :
不如判断是不是获得键盘焦点。

哈哈,解决了,我用类似于遍历子控件hasFocus()的方法。歇息你
离线zzjin

只看该作者 6楼 发表于: 2012-02-16
Re:如何判断对话框是否是置顶窗口,win api有类似的wndTopMost。>>>大虾们都回家过年了吗?求 ..
确实是个好方法~学习了~
快速回复
限100 字节
 
上一个 下一个