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

1 篇文章 0 订阅
3 篇文章 0 订阅

      在编写对话框程序时,增加了个子对话框,想使用主对话框的界面直接拿来修改,于是直接复在左边的资源管视图(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



  • 0
    点赞
  • 2
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

ben_jobs

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值