2013-04-02 64 views
0

如何讓子窗口出現在任務欄中,在win32程序中?
(在WS_EX_APPWINDOW擴展樣式,幫助僅爲頂層窗口)使子窗口出現在任務欄

+0

在任務欄中有* child *窗口沒有任何意義。也許你的意思是一個*擁有的*窗口? – jamesdlin

+0

我寫了一個文字處理程序,有幾個文件,它們是子窗口,我希望每個文件都出現在任務欄中 – user1544067

+0

對於子窗口來說,它仍然沒有任何意義。什麼選擇任務欄項目呢? Windows不會知道你的其他子窗口要隱藏哪些子窗口,或者不知道如何使用子窗口的z順序。只有你的應用程序知道如何做到這一點。爲每個文檔分配一個單獨的任務欄縮略圖(比如IE爲單獨的選項卡所做的)是不是更合適?或者,如果你真的想要,我想你可以創建隱藏的頂級窗口,激活時顯示相應的文檔。 – jamesdlin

回答

1

通常只彈出窗口可以在任務欄出現,但你可以使用ITaskbarList接口來做到這一點。

根據該文檔爲ITaskbarList::AddTab

任何類型的窗口可以被添加到任務欄......

我沒有嘗試過這個自己,所以我不知道這將與一個子窗口一起工作,但這是我能想到的唯一可能成功的方法。

有關更多信息,請參閱http://msdn.microsoft.com/en-us/library/windows/desktop/bb774652(v=vs.85).aspx

+0

我的程序不知道'ITaskbarList'接口,我需要添加哪些代碼才能使用它? – user1544067

+0

您需要使用帶有CLSID_TaskbarList/IID_ITaskbarList的'CoCreateInstance'創建一個實例。 –

+0

我不知道COM,這個沒有API函數嗎? – user1544067