2011-04-10 6 views

답변

25

트리보기에서 FullExpand()으로 전화하면됩니다.

+0

끝에 확장하지 않으면 어떻게 첫 항목으로 이동합니까? 스크롤 바는 최대 하단에 있습니다. – Hidden

+2

@TheAllSeeingEye 아마도'TopItem' 및/또는'Select'를 사용합니다. –

+0

@Hidden : 스크롤바에서 문제를 파악할 수 없습니다. 이 두 가지를 시도했지만 여전히이 문제가 있습니다. 'tvTreeView.Selected : = tvTreeView.TopItem' 또는'tvTreeView.Select (tvTreeView.Item [0])'- 나를 위해 작동하지 않습니다. 어떻게 그걸 고쳤습니까? – astack

1

TreeNode를 당신이의 TreeNode 개체의 속성을 발견 할 것이다 진정한

에 확장 된 특성을 추가, 그것은 요 진정한 전에 노드 목록에 추가 설정합니다.

또한 당신은 ExpandAll라는 트 리뷰하는 방법을 찾을 수 있습니다

내 안부


참조 http://www.delphipages.com/forum/showthread.php?t=159148

를이 코드

//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; 

을 시도하고 참조 내 감사합니다

+0

TTreeView에는 ExpandAll 메서드가 없습니다. TreeViw에 대한 모든 객체가 추가 시간에 추가되었습니다. – Funtime

+1

StackOverflow에서/pre를 사용하지 않아도 코드를 형식화 할 수 있습니다. 4 칸으로 들여 쓰기 만하면됩니다. 또한 탭을 사용하지 않고 문장을 들여 쓰는 데 도움이됩니다. 인라인 코드의 경우 코드를 "역 따옴표"문자로 묶을 수 있습니다. 뒤 따옴표 (\')는 일반적으로 물결표 (~)와 함께 나타납니다. 뒷 인용문은 주석에 사용될 수도 있습니다 :'like so'. –

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에 방법이 유용 확장 루트 노드가 아닌 노드.

관련 문제