Wolfgang Chien's Homepage | Delphi學習筆記 - 問答篇 |
你們好!本人剛剛開始學習Delphi 1.0.但不知怎的當Form 1 ShowModal Form 2.之後Form 2 ShowModal Form 3.在Form 3 Close之後會返回Form1.
希望各位能幫在下解決.
對不起! 不太懂您要問什麼, 你是說「執行時會發生這種事」還是「想要程式這樣跑」?
「執行時會發生這種事」:
那就很奇怪了, 我試的結果是 form3 結束時, form2 還在啊! 沒有回到 form1...
「敬要程式這樣跑」: 在
form3 的 OnClose 事件寫上將 form2 關閉的程式.
![]() |
1) 如果要用 Delphi 的方法, 那讓 unit2 與 unit3 互相 uses 對方 --- unit2 的 interface 中 uses Unit3; unit3 的 implementation uses unit2, 否則就循環參考了, 然後,Form3 的 OnClose 事件中: form2.Close; |
![]() |
2) 直接呼叫 WinAPI, Send wm_Close 給 form2, 叫它自已關掉. 這樣子, 就不需要互相
uses 對方了.
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction); begin SendMessage(GetWindow(Handle, gw_hWndNext), wm_Close, 0, 0); end; |
首頁 | 學習筆記 | 主題公園 | 軟體下載 | 關於本站 | 討論信群 | 相約下次 |