全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1493
推到 Plurk!
推到 Facebook!

MDI Form create 再一問..^^"

答題得分者是:T.J.B
fly_dream
一般會員


發表:4
回覆:0
積分:0
註冊:2002-09-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-09-19 21:11:50 IP:61.70.xxx.xxx 未訂閱
再請問一下..^^" 在..MDI Form 中, 用 tform2.Create(self);<--建立Form(Child) 有辦法能判斷,若form2 沒建立,才會create 若已建立則不再被建立呢? 若用..showmodal; 是否還能再點選主Form 的功能表呢? 因為..我試過..但卻..點一次功能表就開個Form ..會一直開..^^" 請問.....該怎麼辦呢...?^^" sorry...我是 Delphi 的初學者..^^" thx ...^_^
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-09-20 08:31:00 IP:211.74.xxx.xxx 未訂閱
可以參考一下這篇文章.. >
T.J.B
版主


發表:29
回覆:532
積分:497
註冊:2002-08-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-09-20 10:16:42 IP:61.220.xxx.xxx 未訂閱
引言: 再請問一下..^^" 在..MDI Form 中, 用 tform2.Create(self);<--建立Form(Child) 有辦法能判斷,若form2 沒建立,才會create 若已建立則不再被建立呢? 若用..showmodal; 是否還能再點選主Form 的功能表呢? 因為..我試過..但卻..點一次功能表就開個Form ..會一直開..^^" 請問.....該怎麼辦呢...?^^" sorry...我是 Delphi 的初學者..^^" thx ...^_^
不可以用Showmodal 這樣就跟SDIForm一樣了 就失去MDIForm的意義了 提供你一個做法 你先在MDIForm設定二個全域變數 就是在implementation 這個字上面宣告 var isChildform_Open :boolean; //用來判斷Childform是否開啟的布林變數 select_page : integer;//用來記住User按的按鍵是哪一個?該秀哪個form 在你MDIForm要去Create Childform 的事件裡 加入這段程式碼 select_page := (sender as Tbutton).tag; if not isChildform_Open then //表示該ChildForm尚未被建立出來 begin form2:=tform2.Create(self);<--建立Form(Child) isChildform_Open := True; //設成True表示該ChildForm已被建立出來了 end; form2.show; 然後在每個Childform的Form Close事件寫 isChildform_Open := False;//表示該ChildForm被關閉 Action := cafree;//MDIForm關閉一定要用此方式 這樣就ok了 要注意幾點: 1:將你在MDIForm上的要去Create ChildForm的每一個按鍵其屬性Tag 都要設為不一樣 2:MDIForm要去Use 全部的ChildForm 相對的 每個ChildForm 要去Use MDIForm 就醬子 < >< > 回首來時路 也無風雨也無晴~~@.@ 發表人 - T.J.B 於 2002/09/20 10:18:58 發表人 - T.J.B 於 2002/09/20 15:28:13 發表人 - T.J.B 於 2002/09/20 15:52:28
------
天行健
君子當自強不息~~@.@
系統時間:2024-05-03 14:33:07
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!