請問要如何用TList開啓Form(MDIChild)??? |
答題得分者是:william
|
cherry
一般會員 發表:16 回覆:26 積分:8 註冊:2002-06-28 發送簡訊給我 |
請問各位:
要怎麼用TList開啓Form(MDIChild)???
主要是想利用TList來存放物件, 然後編輯其它功能。 (1) 首先宣告
open: TList;
接下來在 FormCreate 定義
(2) if not Assigned(Form2) then
begin
Form2 := TForm2.Create(owner);
Open.Add(Form2);
end;
(3)把Form的名字放在ListBox1
procedure TForm1.ListBox1Click(Sender: TObject);
var
i,Count: Integer;
Str: String;
begin
Str:=ListBox1.Items[ListBox1.ItemIndex];
Count:=Self.open.Count;
for i:=0 to Count-1 do begin
if TForm(Self.open.Items[i]).Name=Str then begin
TForm(Self.open.Items[i]).Show;
end;
end;
end;
執行後發現:
錯誤訊息為=>cannot create form no MDI forms are currently active..
PS:試過 Normal form, 一切正常.
想請問 MDI form 要怎麼處理?? Thanks
Cherry
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
|
cherry
一般會員 發表:16 回覆:26 積分:8 註冊:2002-06-28 發送簡訊給我 |
Hi William: 有的, 我的確是這樣設定的...
不過, 發現一個問題:
mid child 若設成fsMDIChild 屬性
mid child 是一個window並不是form 不知道這樣的觀念對不對?
===================================
mid child form to fsMDIform -->ok mid child form to fsMDIChild -->ng
===================================
Thanks
Cherry
|
william
版主 發表:66 回覆:2535 積分:3048 註冊:2002-07-11 發送簡訊給我 |
Only ONE form can be set as fsMIDForm, and this should be your main form that 'contains' others MDI child form. MDI child forms exist as a 'window' inside the MD main form. Perhaps you want to open normal form instead of MDI form? The FormStyle property of a normal form should be fsNormal.
|
cherry
一般會員 發表:16 回覆:26 積分:8 註冊:2002-06-28 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |