可否將新開啟之表單置入在原表單中之一容器內 |
尚未結案
|
Paicaso
中階會員 發表:140 回覆:124 積分:52 註冊:2002-09-04 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
|
banson1716
高階會員 發表:55 回覆:182 積分:167 註冊:2002-04-14 發送簡訊給我 |
|
Paicaso
中階會員 發表:140 回覆:124 積分:52 註冊:2002-09-04 發送簡訊給我 |
我已下列方式,可以秀出來,但有些疑問,請幫我看一下
procedure TForm1.F4Click(Sender: TObject);
begin
IF Application.FindComponent('Form2')=nil then Application.CreateForm(TForm2, Form2 );
Form2.Parent := Panel7;
Form2.SHOW;
//Form2.SHOWMODAL; //-->可以秀出來,但不能SetFocus
Form2.Edit2.SetFocus;
end;
1.用Form.Show可以秀出來,但如用Form2.SHOWMODAL其焦點不會在該表單
2.當Form2關閉時,Form1也會跟著關閉
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
|
懷舊的人
高階會員 發表:28 回覆:152 積分:141 註冊:2003-01-08 發送簡訊給我 |
|
Paicaso
中階會員 發表:140 回覆:124 積分:52 註冊:2002-09-04 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
引言: 有關showmodal已了解,但為何關閉Form2時Form1也會跟著關閉? procedure TForm1.F4Click(Sender: TObject); begin IF Application.FindComponent('Form2')=nil then Application.CreateForm(TForm2, Form2 ); Form2.Parent := Panel7; Form2.SHOW; Form2.Edit2.SetFocus; end;照你程式如上, 關閉Form2時Form1並不會跟著關閉, 查看你form2上有什麼Event吧. |
timhuang
尊榮會員 發表:78 回覆:1815 積分:1608 註冊:2002-07-15 發送簡訊給我 |
引言: 我已下列方式,可以秀出來,但有些疑問,請幫我看一下 procedure TForm1.F4Click(Sender: TObject); begin IF Application.FindComponent('Form2')=nil then Application.CreateForm(TForm2, Form2 ); Form2.Parent := Panel7; Form2.SHOW; //Form2.SHOWMODAL; //-->可以秀出來,但不能SetFocus Form2.Edit2.SetFocus; end; 1.用Form.Show可以秀出來,但如用Form2.SHOWMODAL其焦點不會在該表單 2.當Form2關閉時,Form1也會跟著關閉弟試了一下, 發現若是在 form2 上放了一個 bitbtn 其 kind 設為 bkClose 時, 會發生 paicasso 兄所說的 Form2 關閉時, Form1 也會跟著關閉, 推測 可能是該 bitbtn 在該 panel 上, 而 panel 又在 form1 上, 所以造成 form1 也隨之關閉.. 但若是使用自訂的 button 寫入 self.close; 就會正常 close form2 而 form1 不受影響. 另外, 弟在 Form2 的 onClose EVENT 中, 有放入了 action := cafree; 並設定中斷點試著 看該行執行的狀況. (先後已先將 create form2 的 owner 利用 form2 := TForm2.Create(Panel1); 或 form1 , 或是利用 application.createform 的方式將 form2 的 owner 設為 application 結果皆同.) 發現有以下幾種狀況: 1. 按下自訂的 button 中的 self.close; 將會正常的執行 form2 的 onclose event 2. 按下 bitbtn 來 close form2 時 (該 bitbtn 中的 onclick 沒有任何程式), 不會執行到 form2 的 onclose event 3. 按下 form1 右上角的 x 來關閉時, form2 的 onclose event 也不會觸發. 以上三種 case 無論 form2 的 owner 為 panel1, form1, 或是 application 都是一樣的, 所以是否會發生該 form2 若不是以第一種方式來 close 時, 將 會發生無法完全釋放的問題? |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |