MFC 子对话框多了任务栏图标?
生活随笔
收集整理的這篇文章主要介紹了
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 子对话框多了任务栏图标?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 翻转和旋转计算机教学,小学信息技术(上册
- 下一篇: (连载)Android 8.0 : 系统