欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

MFC 子对话框多了任务栏图标?

发布时间:2024/1/8 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 MFC 子对话框多了任务栏图标? 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

      在编写对话框程序时,增加了个子对话框,想使用主对话框的界面直接拿来修改,于是直接复在左边的资源管视图(ResourceView)里面直接按Ctrl键拖拉复制了一个,更改对话框标题、ID,一切顺利。

      但是运行的时候问题出现了!其它的子对话框弹出时任务栏上是一个图标,当复制的子对话框弹出时任务栏上多了一个图标!!! 

      查看对话框的属性,跟其它的对话框也没有区别!更改对话框的Styles里面的Style、Border属性,More Styles里面的Visible属性都没有变化。没办法G之,在《MFC中子对话框没有显示如何让它在任务栏上显示》一文中倒是提到了让子对话框显示的方法是在OnInitDialog函数中加入以下两句:

ModifyStyleEx(0,WS_EX_APPWINDOW); ShowWindow(SW_SHOW); 但我是要取消其在任务栏中的显示! 实在没办法了,打开*.rc文件查看在任务栏中显示与不显示对话框的内容,终于在有问题的对话框代码段里面发现了一行可疑的代码 EXSTYLE WS_EX_APPWINDOW ,而除了主对话框之外,其它的对话框都没有,将此行代码删除,再按F5运行,问题解决了。

一切真相大白:原来在对话框里面有扩展属性WS_EX_APPWINDOW是在属性页里面看不到的,而引文中提到的修改窗体属性正是给需要在任务栏中显示的窗口在运行时加入此属性。其实最简单的办法就是在对话框代码第三行加入上面一行就可以了。

代码如下所示。

IDD_XXX_DIALOG DIALOGEX 0, 0, 320, 200 STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_APPWINDOW //如果不需要在任务栏里面显示,则注释掉此行,反之则加入 FONT 9, "宋体" BEGIN... END


总结

以上是生活随笔为你收集整理的MFC 子对话框多了任务栏图标?的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。