2014-04-21 91 views
0

我想隱藏窗體2從任務欄,但我不知道如何。
我知道如何隱藏的主要形式:從任務欄隱藏窗體2

application.MainFormOnTaskBar := false; 

但我怎麼能隱藏任務欄窗口2?

+0

谷歌當然應該提供大量的例子......到目前爲止您嘗試了哪些? –

+1

默認情況下,輔助窗體不會顯示在任務欄上。你怎麼讓Form2出現在第一位? –

+0

將MainFormOnTaskBar設置爲false只是將應用程序窗口放在任務欄中。你仍然會得到一個任務欄按鈕。你真正想要做的是創建一個隱藏的頂級窗口,並使其成爲主窗體的所有者。 sscce會有所幫助。 –

回答

1

在下文中,通過所有權,我指的是Windows concept而不是德爾福概念。

無主頂層窗口在任務欄上有按鈕。通過將MainFormOnTaskbar設置爲False,您可以使主窗體歸屬於應用程序窗口。並且任務欄按鈕與應用程序窗口關聯。您通過隱藏應用程序窗口來隱藏該按鈕。

如果輔助表單在任務欄上有一個按鈕,它可能沒有所有者。這種情況在默認情況下不會發生,所以假設您在CreateParams中將WndParent設置爲0。或使用PopupParent來實現相同。

由於擁有的窗口不顯示在任務欄上,並且由於看起來您不希望輔助表單被主窗體所擁有,因此您似乎需要將輔助窗體歸爲應用程序窗口。

即使我上面的猜測是關閉的,事實仍然是,讓窗口保持任務欄按鈕的方法是讓它成爲所有者。