當在CreateWindowEx
中使用WS_EX_TOOLWINDOW標誌時,是否可以顯示任務欄按鈕?使用WS_EX_TOOLWINDOW時顯示任務欄按鈕
回答
WS_EX_APPWINDOW
樣式是無主窗口在任務欄上顯示時所必需的。
Extended Window Styles文檔明確指出,「工具窗口未出現在任務欄」中。
MSDN進一步對此進行了更詳細:
殼牌放在任務欄上的按鈕,每當應用程序創建一個無主窗口,也就是說,不具有父窗口並且具有適當的擴展樣式位(參見下面的Managing Taskbar Buttons)。
...
管理任務欄按鈕
每當應用程序創建未擁有的窗口的shell創建任務欄上的按鈕。 要確保窗口按鈕放置在任務欄上,請使用
WS_EX_APPWINDOW
擴展樣式創建一個無主窗口。要防止將窗口按鈕放置在任務欄上,請使用WS_EX_TOOLWINDOW
擴展樣式創建無主窗口。作爲替代方案,您可以創建一個隱藏窗口,並將該隱藏窗口設置爲可見窗口的所有者。只有當窗口樣式支持可見的任務欄按鈕時,Shell纔會從任務欄中刪除窗口的按鈕。如果要將窗口樣式動態地更改爲不支持可見任務欄按鈕的樣式,則必須先隱藏該窗口(通過調用
ShowWindow
和SW_HIDE
),更改窗口樣式,然後顯示該窗口。...
修改的Shell32.dll中的任務欄
Version 4.71 and later的內容添加到修改任務欄的內容的能力。 從應用程序中,您現在可以添加,刪除和激活任務欄按鈕。激活該項目不會激活窗口;它顯示在任務欄上按下的項目。
任務欄修改功能在一個組件對象模型(COM)對象(
CLSID_TaskbarList
)暴露該ITaskbarList
接口(IID_ITaskbarList
)來實現。您必須調用ITaskbarList::HrInit
方法來初始化對象。然後可以使用ITaskbarList
接口的方法修改任務欄的內容。
所以,你可能能夠使用ITaskbarList::AddTab()
爲您的工具窗口:
任何類型的窗口可以被添加到任務欄,但建議該窗口至少有
WS_CAPTION
風格。
- 1. 如何使用任務欄按鈕顯示進度條?
- 2. 將Excel用戶窗體顯示爲任務欄中的按鈕
- 3. java jdialog任務欄按鈕
- 4. 使用NativeWindow顯示任務欄項目
- 5. C#顯示任務欄縮略圖上的按鈕
- 6. 在任務欄上顯示標題按鈕的進度
- 7. 如何使用Delphi 7在狀態/任務欄按鈕中顯示進度?
- 8. NAvigationController欄按鈕不顯示
- 9. 顯示任務ALT + TAB,但沒有顯示在任務欄
- 10. 顯示片段時在操作欄中顯示按鈕
- 11. Group類似的任務欄按鈕
- 12. 使用Javascript顯示按鈕按鈕
- 13. 使用SurfaceView時不顯示按鈕
- 14. AlertDialog在使用按鈕時不顯示
- 15. 使用包時不顯示按鈕()
- 16. 運行時導航欄上沒有顯示欄按鈕
- 17. 如何使用視覺樣式繪製任務欄按鈕?
- 18. 如果設置爲合併,任務欄按鈕/圖標顯示不正確
- 19. 如何取消任務欄按鈕和顯示系統托盤圖標
- 20. 集中於應用程序時無法顯示任務欄
- 21. 工具欄(後退按鈕不顯示)
- 22. CKEditor - 按鈕切換顯示工具欄
- 23. 按鈕不顯示在導航欄項
- 24. 隱藏並顯示欄按鈕項目
- 25. 導航欄按鈕不顯示
- 26. 沒有顯示工具欄按鈕
- 27. CKEDITOR工具欄按鈕不會顯示
- 28. 導航欄按鈕不顯示
- 29. iPhone UINavigationController欄按鈕不顯示
- 30. SWT WizardDialog未顯示在任務欄
好的,那麼有沒有辦法使用WS_EX_TOOLWINDOW風格,但使用WS_EX_APPWINDOW來顯示按鈕? – Dementor
@演員這兩種風格不能混在一起。但是,您可以嘗試使用'ITaskbarList :: AddTab()'。我更新了我的答案。 –