delphi.gif (306 バイト) TreeViewの使い方


ツリービューコントロールを使うとWindows Explorerのように項目のツリー表示を行うアプリケーションを作ることができます。ツリービューにイメージを表示するときはイメージリストコントロールを使います。

 

toach.gif (917 バイト) ツリービューに新しいツリーノードを追加するには

TTreeViewのItemsプロパティはTTreeNode型で、Addメソッドによってツリーノードを追加できます。AddChindメソッドはAddによって追加したノードに子ノードを追加する時使用します。

delphi1.gif (322 バイト)

var
    node1, node: TTreeNode;
begin
    With TreeView1 do
    begin
        Align := alClient;
        node := Items.Add(nil, 'node0');
        node1 := Items.AddChild(node, 'node01');
        node1.ImageIndex := 1;
        node1 := Items.AddChild(node, 'node02');
        node1.ImageIndex := 1;
        node1 := Items.AddChild(node, 'node03');
        node1.ImageIndex := 1;
        node := Items.Add(nil, 'node1');
        node.ImageIndex := 0;
        node1 := Items.AddChild(node, 'node11');
        node1.ImageIndex := 1;
        node1 := Items.AddChild(node, 'node12');
        node1.ImageIndex := 1;
    end;
end;

toach.gif (917 バイト) ノードにイメージを表示するには

まずオブジェクトインスペクタで、ツリービューのImagesプロパティにイメージリストコントロールを設定します。上の例のようにノードのImageIndexプロパティにイメージリストコントロールにあらかじめ追加してあるイメージ番号を代入すると、そのイメージがノードに表示されます。イメージリストコントロールにイメージを追加する方法はここをクリックしてください。

 

toach.gif (917 バイト) ノードを展開したり縮小したりするには

ノードをすべて展開するにはFullExpandメソッドを使用します。逆に縮小するにはFullCollapseメソッドを使用します。

 

toach.gif (917 バイト) ノードをファイルから読み込んで設定するには

LoadFromFileメソッドを使用するとノードをファイルから読み込んだ情報によって初期化できます。

delphi1.gif (322 バイト)

var
    i, n: Integer;
begin
    TreeView1.LoadFromFile(filename);
    i := 0;
    n := TreeView1.Items.Count;
    while i < n do begin if TreeView1.Items[i].Level> 0 then
           TreeView1.Items[i].ImageIndex := 1;
        Inc(i);
    end;
end;

delphi1.gif (322 バイト) データファイルの例

node0
	node01
	node02
	node03
node1
	node11
	node12

 

toach.gif (917 バイト) 現在選択されているノードを得るには

OnClickイベントなどでSelectedプロパティを参照し、現在選択されているノードを得ることができます。

delphi1.gif (322 バイト)

StatusBar1.Panels[0].Text := TreeView1.Selected.Text;