您的位置:首页 > 编程语言 > Delphi

Delphi之Virtual Treeview使用心得

2012-01-17 16:20 731 查看
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掉
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: