CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

怎么删除给treeview节点定义的结构体,应该在什么时候删除?

楼主knf(CTO-首席打字员)2002-04-05 22:17:24 在 C++ Builder / 基础类 提问

如:  
  结构体:  
  typedef   struct   MyRec  
  {  
      AnsiString   Url,Target,Status,Pic;  
  }   TNodeRec;  
  typedef   TNodeRec*   PNodeRec;  
   
  //给结构体赋值  
  void*   __fastcall   TfmMain::GetNewNode(AnsiString   url,   AnsiString   target,   AnsiString   status,   AnsiString   pic)  
  {  
  PNodeRec   NewNode0;  
  NewNode0   =   new   TNodeRec;  
  NewNode0->Url   =   url;  
  NewNode0->Target   =   target;  
  NewNode0->Statustxt   =   status;  
  NewNode0->Pic   =   pic;  
  return   NewNode0;  
  }  
   
  //添加节点时,调用了GetNewNode  
  TreeView1->Items->AddObject(NULL,"new",GetNewNode(url,target,status,pic));  
   
  最后,我应该在什么时候delete这些NewNode0?  
  问题点数:50、回复次数:5Top

1 楼invalid(空心菜(Python是个好东东,大家多用用!))回复于 2002-04-05 22:31:11 得分 10

在你即将无法访问到结果的指针时删除!Top

2 楼knf(CTO-首席打字员)回复于 2002-04-05 22:51:53 得分 0

那是不是我每删除一个节点的时候都要删除结构一次,在treeview不用的时候又全部删除一次?  
  还有,这种时候怎么删除?delete   NewNode0好象不对?Top

3 楼verybigbug(等待中)回复于 2002-04-06 09:52:08 得分 20

删除节点的时候删除结构,TreeView的OnDeletion事件。Top

4 楼kingcaiyao(aking)回复于 2002-04-06 09:55:31 得分 10

这样看一看:  
  定义一数组,在不需时对它进行集体删除,请看程序片段:  
  typedef   Struct{  
  String   FName;  
  String   LName;  
  int   NodeID;  
  }MyStruct;  
  MyStruct   *NodeData[100]=new   MyStruct[100];  
  void   __fastcall   TForm1::Button1Click(TObject   *Sender)  
  {  
          TTreeNode   pNode[100];  
           
          TreeView1->Items->Clear();  
          for(int   i=0;i<100;i++)  
          {  
                    TreeView1->Items->Add(NULL,"MyNode"+IntToStr(i));  
                    pNode[i]=TTreeView1->Items->Item[i];  
          }  
          for(int   i=0;i<100;i++)  
          {  
                      //set   your   struct's   data  
                      NodeData[i].FName=your   value;  
                      NodeData[i].LName=your   value;  
                      NodeData[i].NodeID=i;  
                      TreeView1->Items->AddChildObject(pNode[i],your   string,(void*)NodeData[i]);  
        ....    
        }  
  ...  
  //在不要时将这个自定义结构体的数组全部删除。  
   
  }  
   
         
  Top

5 楼ken_henderson( )回复于 2002-04-06 10:05:38 得分 10

在删除一个节点时删除,在退出程序时把剩余的删除Top

相关问题

  • Treeview节点删除问题
  • 删除treeview 控件节点
  • 删除TreeView的节点
  • treeview 删除节点下动态生成的所有子节点
  • 请问:如何删除TreeView节点以及其子节点
  • 如何用javascript为TreeView添加节点,删除节点?谢谢...........
  • 如何删除TreeView的一个节点及其子节点
  • TreeView控件,已知节点A的KEY值,怎么删除这个节点A?
  • 请问怎样删除一个treeview中level:=2的节点?
  • 请问如何删除一个TreeView的节点啊?

关键词

  • 节点
  • 结构
  • 删除
  • newnode0
  • tnoderec
  • 结构体
  • ansistring
  • treeview
  • pic
  • 时候

得分解答快速导航

  • 帖主:knf
  • invalid
  • verybigbug
  • kingcaiyao
  • ken_henderson

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo