TreeViewの使い方
ツリービューコントロールを使うとWindows Explorerのように項目のツリー表示を行うアプリケーションを作ることができます。ツリービューにイメージを表示するときはイメージリストコントロールを使います。
ツリービューに新しいツリーノードを追加するには
TTreeViewのItemsプロパティはTTreeNode型で、Addメソッドによってツリーノードを追加できます。AddChindメソッドはAddによって追加したノードに子ノードを追加する時使用します。
例
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;
ノードにイメージを表示するには
まずオブジェクトインスペクタで、ツリービューのImagesプロパティにイメージリストコントロールを設定します。上の例のようにノードのImageIndexプロパティにイメージリストコントロールにあらかじめ追加してあるイメージ番号を代入すると、そのイメージがノードに表示されます。イメージリストコントロールにイメージを追加する方法はここをクリックしてください。
ノードを展開したり縮小したりするには
ノードをすべて展開するにはFullExpandメソッドを使用します。逆に縮小するにはFullCollapseメソッドを使用します。
ノードをファイルから読み込んで設定するには
LoadFromFileメソッドを使用するとノードをファイルから読み込んだ情報によって初期化できます。
例
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;
データファイルの例
node0 node01 node02 node03 node1 node11 node12
現在選択されているノードを得るには
OnClickイベントなどでSelectedプロパティを参照し、現在選択されているノードを得ることができます。
例
StatusBar1.Panels[0].Text := TreeView1.Selected.Text;