如何得知MDI Child 關閉了 |
答題得分者是:wameng
|
webber
初階會員 發表:54 回覆:76 積分:26 註冊:2004-04-20 發送簡訊給我 |
|
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
引言: 如何在MDI main form 中得知他的MDI child 關閉了 K.Top是我見過最棒的程式社群我目前的作法,不是很好,還請前輩教導 在MainForm 建一個Function給 ChildForm Call Mail procedure TSYSMain.ChildClose(sender: Tform); begin if PB_NowMode = 'OPENFORM' then //必須反回原Access begin GoToApp(); end; end; ----------------------------- Child procedure TJFForm.FormClose(Sender: TObject; var Action: TCloseAction); begin SYSMain.ChildClose(self); Action := caFree; end; |
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
第一種作法,當然就是在 MDI Child OnClose 事件中添加
呼叫 Mainform 的方法。以便得知 MDI Child 要關閉了。 第二種方法,透過 TApplicationEvents。
就是 Application.OnMessage 事件中,我們知道在關閉視窗。
會引發一個訊息。(Showmodal 無效)
如下:
procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); begin if Msg.message = 45089 then begin Showmessage(inttostr(Msg.hwnd)); end; end;可在此得知 MDI Child 要關閉了。 |
jeffreck
高階會員 發表:247 回覆:340 積分:197 註冊:2003-01-23 發送簡訊給我 |
|
webber
初階會員 發表:54 回覆:76 積分:26 註冊:2004-04-20 發送簡訊給我 |
|
wameng
版主 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |