如何让 TreeView 的列表项携带数据、并读出或删除这个数据 - 回复 "Splendour" 的问题
2010-04-12 20:59
417 查看
问题来源: http://www.cnblogs.com/del/archive/2009/12/18/1627110.html#1799657
准备工作:
1、在空白窗体上添加 TreeView1 和 Button1
2、激活窗体的 OnCreate 事件, 激活 TreeView 的 OnDblClick 事件
全部代码如下:
准备工作:
1、在空白窗体上添加 TreeView1 和 Button1
2、激活窗体的 OnCreate 事件, 激活 TreeView 的 OnDblClick 事件
全部代码如下:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls; type TForm1 = class(TForm) TreeView1: TTreeView; Button1: TButton; procedure FormCreate(Sender: TObject); procedure TreeView1DblClick(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} var arr1,arr2,arr3: array of TPoint; procedure TForm1.FormCreate(Sender: TObject); var i: Integer; begin {准备测试用的动态数组数据} SetLength(arr1, 2); SetLength(arr2, 3); SetLength(arr3, 4); for i := 0 to Length(arr1)-1 do begin arr1[i].X := i+1; arr1[i].Y := i+4; end; for i := 0 to Length(arr2)-1 do begin arr2[i].X := i+2; arr2[i].Y := i+5; end; for i := 0 to Length(arr3)-1 do begin arr3[i].X := i+3; arr3[i].Y := i+6; end; {添加到 TreeView} TreeView1.Items.Clear; TreeView1.Items.AddChildObject(nil, 'Note1', arr1); TreeView1.Items.AddChildObject(nil, 'Note2', arr2); TreeView1.Items.AddChildObject(nil, 'Note3', arr3); Button1.Caption := '重新装载数据'; Button1.OnClick := OnCreate; end; procedure TForm1.TreeView1DblClick(Sender: TObject); var node: TTreeNode; arr: array of TPoint; begin {获取当前节点} node := TreeView1.Selected; if not Assigned(node.Data) then begin ShowMessageFmt('%s 中没有携带其他数据', [node.Text]); Exit; end; {获取数组} arr := node.Data; {读取数组的第一个数据} ShowMessageFmt('%d, %d', [arr[0].X, arr[0].Y]); {清除数据指针} node.Data := nil; ShowMessageFmt('%s 中的数据已被删除!', [node.Text]); end; end.
相关文章推荐
- 如何删除动态数组的指定元素 - 回复 "Splendour" 的部分问题
- 如何用 GDI 绘制阴影文字 - 回复 "Splendour" 的问题
- 如何在数据表中存取图片 - 回复 "三足乌" 的问题
- 如何在数据表中存取图片 - 回复 "三足乌" 的问题
- 【Cool】如何使wince下的Windows文件夹下保存数据而掉电也不消失——这个能解决cab包安装重启/关机丢失的问题
- 使用事务实现--转账问题:从0001账户转1000块到0002账户。打开"隐式事务":设置为开,删除表中数据,回滚!(默认情况为关,如果打开了则不自动提交,学要手动提交)
- 如何进行aix下误删除LV的数据恢复问题(包含现场保护方案和数据恢复方案)
- "没有可用于当前位置的源代码"这个问题如何解决?
- 如何解决"需要来自'...'的权限才能删除此文件"的问题
- 如何把类中的方法做参数 - 回复 "林Lin☆☆" 的问题
- 如何在 TDrawGrid 的单元格中显示图片 - 回复 "巅枫" 的问题
- 如何解决数据保存数据库后出现中文变"?"的问题
- Discuz常见小问题2-如何清空,删除,清除全部DIY的数据
- 如何解决“Excel中某一列是运算以后得出的,删除原来列以后,数据没有了”的问题
- 删除数据中涉及到附件问题 如何操作
- 如何解决"make: *** [all] Segmentation fault (core dumped)“这个问题?
- "如何将本地开发的系统迁移到云端,数据存储问题
- 在用easyui中做CRUD功能时,当删除一行或多行数据后再点击修改会提示你选中了多行,如何解决这个bug了?
- 如何解决电脑数据文件被误删除的问题
- 如何解决使用addBatch()和executeBatch()无法批量增加删除修改数据库数据等问题