我想在应用程序启动时在主窗体上展开树。 我怎么能这样做?我找不到相应的财产。 C ++ builder 2009。
答案 0 :(得分:27)
您只需在树状视图上调用FullExpand()
。
答案 1 :(得分:1)
添加treenode时,将其展开的属性设为true
你会找到treeNode Object的一个属性,在添加到节点列表之前将它设置为true。
你也可以找到一个名为ExpandAll
的treeView方法我的问候
试试这段代码
//this will expand all nodes of Level and their parents
procedure ExpandTree(Tree: TTreeView; Level: integer);
procedure ExpandParents(Node: TTreeNode);
var
aNode : TTreeNode;
begin
aNode := Node.Parent;
while aNode <> nil do begin
if not aNode.Expanded then
aNode.Expand(false);
aNode := aNode.Parent;
end;
end;
var
aNode : TTreeNode;
begin
if Tree.Items.Count > 0 then begin
aNode := Tree.Items[0];
while aNode <> nil do begin
if aNode.Level = Level then begin
aNode.Expand(false);
ExpandParents(aNode);
end;
aNode := aNode.GetNext;
end;
end;
end;
//this will expand the Node and it's parents
procedure ExpandNode(Node: TTreeNode);
var
aNode : TTreeNode;
begin
Node.Expand(false);
aNode := Node.Parent;
while aNode <> nil do begin
if not aNode.Expanded then
aNode.Expand(false);
aNode := aNode.Parent;
end;
end;
并查看参考资料 http://www.delphipages.com/forum/showthread.php?t=159148
我的问候
答案 2 :(得分:0)
有很多方法可以做到这一点。最简单的是
TreeView1.FullExpand;
在接受的答案中 - 或者
if TreeView1.items.GetFirstNode <> nil then
TreeView1.items.GetFirstNode.Expand(True);
或
if TreeView1.items[0] <> nil then
TreeView1.items[0].Expand(True);
如果要从非根节点的特定节点完全展开,则TTreeNode上的Expand方法很有用。