TreeView控件的TreeNode能不能保存额外的数据?

z33 2003-03-14 12:17:56
就像PB的TreeView一样还有一个Data属性
...全文
23 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeff 2003-03-14
  • 打赏
  • 举报
回复
我一般使用Node的ImageIndex或者StateIndex属性,一般是StateIndex,因为在TreeView中一般有Image就行了,很少使用了StateImage的,因此我使用StateIndex来保存一些额外的数据,比如数据库中记录的ID等等。
sysu 2003-03-14
  • 打赏
  • 举报
回复
TreeNode也有Data属性

type
PMyRec = ^TMyRec;
TMyRec = record
FName: string;
LName: string;
end;

procedure TForm1.Button1Click(Sender: TObject);

var
MyRecPtr: PMyRec;
TreeViewIndex: LongInt;
begin
New(MyRecPtr);
MyRecPtr^.FName := Edit1.Text;
MyRecPtr^.LName := Edit2.Text;
TreeViewIndex := StrToInt(Edit3.Text);
with TreeView1 do
begin
if Items.Count = 0 then
Items.AddObject(nil, 'Item' + IntToStr(TreeViewIndex), MyRecPtr)
elseif (TreeViewIndex < Items.Count) and (TreeViewIndex >= 0) then
Items.AddObject(Items[TreeViewIndex], 'Item' + IntToStr(TreeViewIndex), MyRecPtr);

end;
end;

procedure TForm1.Button2Click(Sender: TObject);

begin
Label1.Caption := PMyRec(TreeView1.Selected.Data)^.FName + ' ' +
PMyRec(TreeView1.Selected.Data)^.LName;
end;

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧