TreeView 是一个显示树型结构的控件,每一个节点都是一个新类, 使用具有代表性 每个节点都有四个值: TEXT:显示文字 Image Index:显示图形序号 Selected Index: State Index:
(1)建立目录项(本例中使用的TREEVIEW名称为:TvwTips)
增加根目录下的节点:(节点) var CatNode : TTreeNode; //先建立一个TREEVIEW使用的子对象 begin TvwTips.SetFocus; //将焦点置到这个TREEVIEW控件上 { 在根标题下建立一个新的子标题 } CatNode := TvwTips.Items.AddChild( TvwTips.Items.GetFirstNode,''''New Category'''' ); CatNode.ImageIndex := 1; CatNode.SelectedIndex := 2; CatNode.EditText; { 允许用户改变这个标题 } end;
增加下一级目录(内容): var ParentNode, TipNode : TTreeNode; //先建立TREEVIEW使用 的子对象 VersionNum : Integer; begin TvwTips.SetFocus; //将焦点置到这个TREEVIEW控件上 VersionNum := TMenuItem( Sender ).Tag; { Ver num of new tip } ParentNode := TvwTips.Selected; { 取出当前的选中节点 } if ParentNode.Level = nlTip then{ Parent cannot be a tip node } ParentNode := TvwTips.Selected.Parent;
TipNode := TvwTips.Items.AddChildObject( ParentNode,''''New Subject'''',Pointer( VersionNum ) ); TipNode.ImageIndex := 3; { Normal tip bitmap } TipNode.SelectedIndex := 4; { Highlighted tip bitmap } TipNode.MakeVisible; { Move new tip node into view } TipNode.EditText; { Immediately allow user to edit subject } EnableTreeViewFunctions( TipNode.Level ); RtfTip.Clear; RtfTip.Modified := False; end;
(2)说明 TvwTips.Items.GetFirstNode 返回TREEVIEW的第一个节点,函数类型为 :TTreeNode TvwTips.Items.Count 返回当前TreeView的全部节点数,整数 TvwTips.Selected.Level 返回当前选中节点的在目录树中的级别, 根目录为0 TvwTips.Selected.Parent 返回当前选中节点上级节点,函数类型为 :TTreeNode
|