2011-04-10 11 views

cevap

25

Ağaç görünümünde FullExpand() numaralı telefonu aramanız yeterlidir.

+0

Sonunda genişletilmediğinde ilk öğeye nasıl geçebilirim? Kaydırma çubuğu maksimum altta. – Hidden

+2

@TheAllSeeingEye Belki de 'TopItem' ve/veya' Select' komutlarını kullanarak. –

+0

@Hidden: Sorunu kaydırma çubuğu ile çözemiyorum. Bu iki şeyi deniyordum ama hala bu sorunum var. tvTreeView.Selected: = tvTreeView.TopItem'or 'tvTreeView.Select (tvTreeView.Item [0])' - benim için çalışmıyor. Bunu nasıl düzelttin? – astack

1

treenode sen TreeNode nesnesi için bir mülk bulacaksınız gerçek

için genişletilmiş özellik ilave etmek, bu yo gerçek öncesi düğüm listesine eklemek ayarlayın.

ve ayrıca ExpandAll denilen ağaç için bir yöntem bulabilirsiniz

Benim Selamlar


referansı http://www.delphipages.com/forum/showthread.php?t=159148

Bu kodu

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

deneyin ve görün Benim Saygılarımızla

+0

TTreeView, ExpandAll yöntemine sahip değil. TreeViw'e tüm nesneler, – Funtime

+1

tasarımında eklenmiştir. StackOverflow On/öncesi veya kodu biçimlendirmek için ihtiyacınız yoktur. Tek yapmanız gereken dört boşlukla girmektir. Ayrıca, sekmeleri kullanmadıysanız, ancak ifadelerinizi yazmak için boşluklar kullanmanıza yardımcı olur. Satır içi kod için kodu "arka alıntı" karakterleriyle sarabilirsiniz. Arka alıntı (\ ') genellikle tilde (~) ile birlikte bulunur. Arka alıntı da yorumlarda kullanılabilir: 'like it. –

0

Bunu yapmanın bir dizi yolu var. En kolay kabul edilen yanıt olarak

TreeView1.FullExpand; 

olacak - Alternatif

if TreeView1.items.GetFirstNode <> nil then 
    TreeView1.items.GetFirstNode.Expand(True); 

veya

if TreeView1.items[0] <> nil then 
    TreeView1.items[0].Expand(True); 

tam bir özelden genişletmek istiyorsanız bir TTreeNode üzerinde yöntem yararlıdır Expand Düğüm, kök düğüm değildir.

İlgili konular