關於動態產生FORM的問題 |
尚未結案
|
wen142
一般會員 發表:22 回覆:27 積分:14 註冊:2004-06-30 發送簡訊給我 |
各位大大您好
我想要請教一下有關於動態產生的FORM
應該要如何delete
Form2=new TForm2(Application); Form2->Parent = Form1->Panel1 ; lstrcpy(theFileName, imageDir); lstrcat(theFileName, TreeView1->Items->Item[i]->Text.c_str()); lstrcat(theFileName, "\\"); lstrcat(theFileName, TreeView1->Items->Item[i]->Item[j]->Text.c_str()); Form2->Image1->Picture->LoadFromFile(theFileName); Form2->Show() ;程式碼概略如上 只是外面加了for回圈 所以一連產生5~10個動態相同的Form2 但是要如何用回圈將所有的Form2 給delete bcb新手上路 請多指教 |
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
您必須用一個容器將您產生的 Form 存起來:
TList *list = new TList; TForm2 *Form2; for (int i = 0; i < 6; i ) { Form2 = new TForm2(Application); list->Add(Form2); Form2->Parent = Form1->Panel1 ; lstrcpy(theFileName, imageDir); lstrcat(theFileName, TreeView1->Items->Item[i]->Text.c_str()); lstrcat(theFileName, "\\"); lstrcat(theFileName, TreeView1->Items->Item[i]->Item[j]->Text.c_str()); Form2->Image1->Picture->LoadFromFile(theFileName); Form2->Show() ; } /* 以下為 Delete Code */ for (int i = 0; i < list->Count; i ) { delete (TForm2 *)(list->Items[i]); } delete list;發表人 - allenchan 於 2004/12/14 00:18:56 |
wen142
一般會員 發表:22 回覆:27 積分:14 註冊:2004-06-30 發送簡訊給我 |
|
allenchan
資深會員 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
|
wen142
一般會員 發表:22 回覆:27 積分:14 註冊:2004-06-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |