社区
界面
帖子详情
一个主窗口和一个子模态对话框的故事
xhuacmer
2011-02-17 04:40:11
我在写一个程序,应用程序主界面(FWnd)会弹出一个子模态对话框(CWnd),这样用户就不能对主界面(FWnd)进行一系列的操作!可是要在CWnd上面进行一些操作。
如下图所示:
如此一来有一个问题,当我点击CWnd的最小化的按钮时,目的使其最下化,可是主窗口FWnd却被隐藏了,位于桌面最底层,即把桌面上的所有程序都最小化到任务栏就会看见它。这是为什么?,有什么方法可以避免呢? 万分谢谢!
...全文
181
14
打赏
收藏
一个主窗口和一个子模态对话框的故事
我在写一个程序,应用程序主界面(FWnd)会弹出一个子模态对话框(CWnd),这样用户就不能对主界面(FWnd)进行一系列的操作!可是要在CWnd上面进行一些操作。 如下图所示: 如此一来有一个问题,当我点击CWnd的最小化的按钮时,目的使其最下化,可是主窗口FWnd却被隐藏了,位于桌面最底层,即把桌面上的所有程序都最小化到任务栏就会看见它。这是为什么?,有什么方法可以避免呢? 万分谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xhuacmer
2011-02-17
打赏
举报
回复
告诉你一个现象,子模态对话框为非模态时,你把主窗口EnableWindow(FALSE),最小化子模态对话框后主窗口照样会被置于桌面最底层,置于主窗口有效时才不会置于桌面最底层。,
vann1982
2011-02-17
打赏
举报
回复
EnableWindow(FALSE)
xhuacmer
2011-02-17
打赏
举报
回复
[Quote=引用 10 楼 beyondhaven 的回复:]
在你的子窗口中加上:
BOOL XXXXXX::PreTranslateMessage(MSG* pMsg)
{
GetParent()->EnableWindow(TRUE); //使能父窗口
return FALSE;
}
[/Quote]
是无效还是有效呢? 我是要主窗口无效哦
xhuacmer
2011-02-17
打赏
举报
回复
[Quote=引用 9 楼 visualeleven 的回复:]
引用 3 楼 xhuacmer 的回复:
引用 2 楼 zhanghaaaa 的回复:
模态对话框是这样的,用非模态对话框就OK了
可是用非模态对话框的话,就阻止不了对主窗口(FWnd)的一系列操作,我想过通过屏蔽消息来实现,可是没有成功。
加个标记,在你的主窗口的消息处理中加个过滤,比如在PreTranslateMessage函数中加个过滤,如果符合条件消息才可以通过,继续往下处……
[/Quote]
同意你的说法,我正打算这样做,过滤掉键盘和鼠标消息!但是我之前是这样子窗口启动了,主窗口的PreTranslateMessage就直接返回,结果就不行了,可能这样就把所有消息都过滤掉了,程序就出问题了。
VC天下
2011-02-17
打赏
举报
回复
在你的子窗口中加上:
BOOL XXXXXX::PreTranslateMessage(MSG* pMsg)
{
GetParent()->EnableWindow(TRUE); //使能父窗口
return FALSE;
}
Eleven
2011-02-17
打赏
举报
回复
[Quote=引用 3 楼 xhuacmer 的回复:]
引用 2 楼 zhanghaaaa 的回复:
模态对话框是这样的,用非模态对话框就OK了
可是用非模态对话框的话,就阻止不了对主窗口(FWnd)的一系列操作,我想过通过屏蔽消息来实现,可是没有成功。
[/Quote]
加个标记,在你的主窗口的消息处理中加个过滤,比如在PreTranslateMessage函数中加个过滤,如果符合条件消息才可以通过,继续往下处理,否则直接return TRUE返回
xhuacmer
2011-02-17
打赏
举报
回复
[Quote=引用 7 楼 bragi523 的回复:]
用个非模态对话框
主对话框可以灰掉某些功能按钮等
[/Quote]
仅仅是灰掉按钮不行,主界面上有很多东西。
bragi523
2011-02-17
打赏
举报
回复
用个非模态对话框
主对话框可以灰掉某些功能按钮等
xhuacmer
2011-02-17
打赏
举报
回复
[Quote=引用 5 楼 ji1bing 的回复:]
图片可能挂掉了,看不到
根据你的描述是不是这样的一个问题。
最小化模态子对话框,导致父窗口到了最底层?
子窗口是个模态窗口,只要子窗口不销毁,那么父窗口是不能收到任何消息的,就是说即使父窗口在最前端的话,也没有意义
而非模态则不会出现这种问题
[/Quote]
对哈,说的有道理!
ji1bing
2011-02-17
打赏
举报
回复
图片可能挂掉了,看不到
根据你的描述是不是这样的一个问题。
最小化模态子对话框,导致父窗口到了最底层?
子窗口是个模态窗口,只要子窗口不销毁,那么父窗口是不能收到任何消息的,就是说即使父窗口在最前端的话,也没有意义
而非模态则不会出现这种问题
xhuacmer
2011-02-17
打赏
举报
回复
[Quote=引用 2 楼 zhanghaaaa 的回复:]
模态对话框是这样的,用非模态对话框就OK了
[/Quote]
不好意思,图没有传上去呢,
xhuacmer
2011-02-17
打赏
举报
回复
[Quote=引用 2 楼 zhanghaaaa 的回复:]
模态对话框是这样的,用非模态对话框就OK了
[/Quote]
可是用非模态对话框的话,就阻止不了对主窗口(FWnd)的一系列操作,我想过通过屏蔽消息来实现,可是没有成功。
zhanghaaaa
2011-02-17
打赏
举报
回复
模态对话框是这样的,用非模态对话框就OK了
cdsnpeter
2011-02-17
打赏
举报
回复
没看到图哈。
自动驾驶运动规划(Motion Planning).pdf
自动驾驶运动规划(Motion Planning)问题分析
财务数据分析模型6.xlsx
Excel数据看板,Excel办公模板,Excel模板下载,Excel数据统计,数据展示
人力资源数据分析看版.xlsx
Excel数据看板,Excel办公模板,Excel模板下载,Excel数据统计,数据展示
重庆大学2011-2012(2)数字电
子
技术II.pdf
重庆大学期末考试试卷,重大期末考试试题,试题及答案
随波逐流CTF编码工具 V5.6 20240424.rar
由随波逐编写开发,CTF编码工具为用户提供丰富的离线加密解密功能,还可以对字符编码进行转换,文件隐写查看,用户可以根据自己的需求来使用功能,非常实用,能够提高大家的工作效率!
界面
15,979
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章