MFC 子对话框多了任务栏图标?
? ? ? 在編寫對(duì)話框程序時(shí),增加了個(gè)子對(duì)話框,想使用主對(duì)話框的界面直接拿來修改,于是直接復(fù)在左邊的資源管視圖(ResourceView)里面直接按Ctrl鍵拖拉復(fù)制了一個(gè),更改對(duì)話框標(biāo)題、ID,一切順利。
? ? ? 但是運(yùn)行的時(shí)候問題出現(xiàn)了!其它的子對(duì)話框彈出時(shí)任務(wù)欄上是一個(gè)圖標(biāo),當(dāng)復(fù)制的子對(duì)話框彈出時(shí)任務(wù)欄上多了一個(gè)圖標(biāo)!!!?
? ? ? 查看對(duì)話框的屬性,跟其它的對(duì)話框也沒有區(qū)別!更改對(duì)話框的Styles里面的Style、Border屬性,More Styles里面的Visible屬性都沒有變化。沒辦法G之,在《MFC中子對(duì)話框沒有顯示如何讓它在任務(wù)欄上顯示》一文中倒是提到了讓子對(duì)話框顯示的方法是在OnInitDialog函數(shù)中加入以下兩句:
ModifyStyleEx(0,WS_EX_APPWINDOW); ShowWindow(SW_SHOW); 但我是要取消其在任務(wù)欄中的顯示! 實(shí)在沒辦法了,打開*.rc文件查看在任務(wù)欄中顯示與不顯示對(duì)話框的內(nèi)容,終于在有問題的對(duì)話框代碼段里面發(fā)現(xiàn)了一行可疑的代碼 EXSTYLE WS_EX_APPWINDOW ,而除了主對(duì)話框之外,其它的對(duì)話框都沒有,將此行代碼刪除,再按F5運(yùn)行,問題解決了。一切真相大白:原來在對(duì)話框里面有擴(kuò)展屬性WS_EX_APPWINDOW是在屬性頁里面看不到的,而引文中提到的修改窗體屬性正是給需要在任務(wù)欄中顯示的窗口在運(yùn)行時(shí)加入此屬性。其實(shí)最簡(jiǎn)單的辦法就是在對(duì)話框代碼第三行加入上面一行就可以了。
代碼如下所示。
IDD_XXX_DIALOG DIALOGEX 0, 0, 320, 200 STYLE WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_APPWINDOW //如果不需要在任務(wù)欄里面顯示,則注釋掉此行,反之則加入 FONT 9, "宋體" BEGIN... END總結(jié)
以上是生活随笔為你收集整理的MFC 子对话框多了任务栏图标?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 翻转和旋转计算机教学,小学信息技术(上册
- 下一篇: (连载)Android 8.0 : 系统