AfxMessageBox——模态与非模态的问题
来源:互联网 发布:第三方登录数据库设计 编辑:程序博客网 时间:2024/05/17 04:43
在实际编程中发现:
1, 先弹出一个AfxMessageBox,使用全局的,它为模态的。
2, 再创建一个非模态对话框,假设为Dialog1。
3, 当Dialog1关闭时,AfxMessageBox变为非模态的。
最后总结了两种情况:
1, 先弹出AfxMessageBox,后创建非模态对话框。
2, 先创建非模态对话框,后弹出AfxMessageBox。
这两种情况在非模态对话框关闭时,AfxMessageBox都变为非模态的。
试验了几种修改方法,但仍然有问题:
第一种解决方法:
针对上述第一种情况,先查找到AfxMessageBox的窗口句柄,然后转换成CWnd对象,作为指向当前窗口对象的指针。
代码如下:
1, AfxMessageBox的窗口标题与主程序的工程名相同。
2, EnumWindows查找窗口句柄。
3, FromHandle将句柄转换成对象指针。
4, 创建非模态对话框,Create( 对话框ID, 窗口对象指针 )。
此方法只解决了第一种情况,第二种情况没有解决。
其他解决方法:
使用MessageBox替代AfxMessageBox, 如果先弹出非模态对话框,那么MessageBox以该非模态对话框为父窗口,此方法也没解决第二种情况。
总结一下:
最后的解决办法是,创建非模态对话框时Create函数第二个参数为桌面的窗口对象。不使用与主程序相关的窗口对象,这样上面的两种情况都解决了。
- AfxMessageBox——模态与非模态的问题
- AfxMessageBox的问题
- MessageBox()与AfxMessageBox()的区别
- AfxMessageBox与MessageBox的区别:
- AfxMessageBox()与MessageBox()的区别
- AfxMessageBox与MessageBox的区别
- AfxMessageBox()与MessageBox()的区别
- AfxMessageBox与MessageBox的区别
- AfxMessageBox()与MessageBox()的区别
- AfxMessageBox()与MessageBox()的区别
- AfxMessageBox()与MessageBox()的区别
- afxmessagebox与MESSAGEBOX的区别
- AfxMessageBox()与MessageBox()的区别
- AfxMessageBox与MessageBox的区别
- AfxMessageBox与MessageBox的比较及改变AfxMessageBox对话框标题
- AfxMessageBox问题
- AfxMessageBox字符问题
- AfxMessageBox字符问题
- 非模态对话框的释放方法
- 奇虎网站缘何挂雅虎联盟广告?
- 网马 解密 (下)
- 谷歌并购战车明年挺进社交 阻击微软Facebook
- 2008最具潜质的十大明星
- AfxMessageBox——模态与非模态的问题
- TopLanguage小组讨论精选[四](2007.12-2008.1)
- JBoss目录结构说明和功能介绍
- NBA要求中国视频网站删除NBA相关内容
- XUGU:利空频传,建网站如何去赚钱?
- 视频网站试水大规模广告营销
- 使用SkinMagic工具为对话框换肤的基本方法
- ed 1.7 - 支持60种编程语言的免费编辑器
- SQLDataSource 取得存储过程返回参数