2010-04-21 20 views
3

我用Delphi 4 我有一個動態創建一個新的形式的按鈕形式主要形式。 我想新的形式是可見的,但表現出了背後的主要形式。德爾福 - 創建背後的另一種形式

我已經試過FormCreate()後立即調用SendToBack()。但是,這使窗口在實際發回之前快速閃爍。

我試圖使形式無形,然後SendToBack(),然後Visible := true。 但新的形式仍然在前面。

它看起來像只SendToBack()與視覺形式的作品?我怎樣才能讓表單顯示在主窗體後面?

回答

0

使第二窗口(例如窗口2)無形的,然後調用:

showWindow(form2.handle,SW_SHOWNOACTIVATE); 

-don

+0

謝謝,但沒有奏效。如果我調用ShowWindow(newform.handle,SW_SHOWNOACTIVATE),然後newform.Visible:= true,則返回 。它仍然出現在前面。 – Clement 2010-04-21 05:28:19

+0

爲什麼要調用newform.visible:= true; ?如果你離開它,它應該工作。 – 2010-04-21 13:02:57

+0

稍後,我檢查「if(newform.visible)然後做什麼;」。但是使用showWindow()而不顯示:= true,可見屬性似乎是錯誤的。 – Clement 2010-04-23 01:15:18

1

這爲我工作:

SetWindowPos(newform.Handle, HWND_BOTTOM, 0, 0, 0, 0, SWP_SHOWWINDOW 
    or SWP_NOMOVE or SWP_NOOWNERZORDER or SWP_NOSIZE or SWP_NOACTIVATE); 

newform.Visible := true; 

感謝您的幫助!