• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Delphi之Virtual Treeview使用心得

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

DelphiVirtual Treeview使用心得

1.定义节点的数据结构

2.GetNodeDataSize事件 FreeNode事件

3.GetText事件 根据Column来写多列

4.GetImageIndex事件 同上

5.PaintText事件 自定义TargetCanvas

6.GetPopupMenu事件 设定PopupMenu

7.OnSaveNode和Onloadnode 保存为文件,需要自己实现这二个事件

显示Header

1.双击VST

2.添加Column -> Text属性

3.Include( VST.Header.Option, hoVisible);

显示单选、复选框

Include(VST.TreeOptions.MiscOptions,toCheckSupport);

VST.CheckImageKind :=ckXP;

Node.CheckType :=ctCheckBox;//新加节点如果要显示复选框,一定要指定,默认值ctNone

Node.CheckState=csCheckedNormal;//是否选中状态

不显示TreeLine

TreeOption->PaintOptions->toShowTreeLines

添加节点

var

Node: PVirtualNode;

Data: PVSTNode;

Node := VST.AddChild(nil);

Data := VST.GetNodeData(Node);

更新显示

VST.InvalidateNode(Node);

当前选中的节点

VST.FocusedNode

遍历

var

Node:PVirtualNode;

Data:PNodeData;

begin

Node:= VST.GetFirst;

while Assigned(Node) do

begin

Data := VST.GetNodeData(Node);

...

Node := VST.GetNext(Node);

end;

节点没有子节点,但想显示节点前的展开+符号

Include(Node.States,vsHasChildren);

三态复选框选中级连选择, Node.CheckType := ctTriStateCheckBox;

选中的三态:未选中csUncheckedNormal,选中csCheckedNormal,子节点选中父节点状态csMixedNormal

假如以对象而不是记录的方式来存放数据结构

1.初使化时 VST.NodeDataSize:=4;

2.添加节点 NewNode:= VST.AddChild(ParentNode,Data);

3.获取节点数据vst.GetNodeData(Node)^ //注意GetNodeData函数获取的其实是一个指针

4.释放数据 在OnFreeNode事件中把对象Free掉


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MATLAB高斯金字塔发布时间:2022-07-18
下一篇:
Sobel边缘检测(2)-matlab发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap