動態產生的TMenuItem要如何delete呢? |
尚未結案
|
chtai
高階會員 ![]() ![]() ![]() ![]() 發表:68 回覆:238 積分:116 註冊:2004-05-21 發送簡訊給我 |
各位好,我有一段動態產生 TMenuItem 的程式碼如下
if( ........ ) { TMenuItem *Item = new TMenuItem( mmLanguage ); ............ Item->OnClick = smLanguageClick; // 為OnClick指定處理函式 mmLanguage->Add(Item); }像這樣,我在視窗產生時 new 了不定個數的 TMenuItem, 並把它加到 MainMenu 底下。 常言道:各人造業各人擔,自己 new 的自己刪。 那我要怎麼把這些不定個數的 TMenuItem 給 delete 掉呢? -- http://www.csie.nctu.edu.tw/~chtai/software.html 好用免費軟體的收集網頁,歡迎大家跟我分享或一同推廣免費軟體。 若您覺得這網頁不錯,也歡迎您將它傳出去 :)
------
My Web: http://nelson.csie.us My Blog: http://blog.nelson.csie.us |
dllee
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
在您的 class 中宣告一個 TList *ItemsNewByMe; 在 class 建構元:
ItemsNewByMe=new TList; 在 class 解構元: 刪除所有自己 new 出來的 TMenuItem
for(int i=0;i在原程式中 if( ........ ) { TMenuItem *Item = new TMenuItem( mmLanguage ); ............ Item->OnClick = smLanguageClick; // 為OnClick指定處理函式 mmLanguage->Add(Item); ItemsNewByMe->Add(Item); // 加入自己new的列表 }StatPlus2 視動科技 VMASK - ViewMove Automation Software Kernel
------
http://www.ViewMove.com |
liangnet
中階會員 ![]() ![]() ![]() 發表:19 回覆:148 積分:83 註冊:2004-01-03 發送簡訊給我 |
mmLanguage是什麼類別? 我寫個例子給你參考
//動態配置物件 TMenuItem *Item TList *list = new TList; for (int i = 0; i < 10; i ) { Item = new TMenuItem(this); ...... list->Add(Item); } //刪除動態配置的物件 for (int i = list->Count - 1; i >= 0; i--) { delete (TMenuItem *)list->Items[i]; } list->Clear(); |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |