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

動態產生的TMenuItem要如何delete呢?

尚未結案
chtai
高階會員


發表:68
回覆:238
積分:116
註冊:2004-05-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-04 00:24:53 IP:140.113.xxx.xxx 未訂閱
各位好,我有一段動態產生 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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-09-04 08:49:31 IP:211.76.xxx.xxx 未訂閱
在您的 class 中宣告一個     TList *ItemsNewByMe;    在 class 建構元: ItemsNewByMe=new TList;    在 class 解構元: 刪除所有自己 new 出來的 TMenuItem
for(int i=0;iCount;i  )
  delete (TMenuItem *)ItemsNewByMe->Items[i];
delete ItemsNewByMe;
在原程式中
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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-09-04 08:54:59 IP:61.219.xxx.xxx 未訂閱
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();
系統時間:2024-05-06 8:46:31
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!