Delphi TreeView の MultiSelect でコードからノードを選択
Delphi TreeView で MultiSelect := True; にすると、Ctrl+Clickで複数選択可能
ノートの選択状態を取得
- Node.Selected
- TreeView.Selections, TreeView.SelectionCount
コードから選択状態を設定(NG)
- 対象のノートで Node.Selected := True
- TreeView.Select(node1, [ssCtrl])
これらを用いると、選択されたりされなかったり、 TreeView.Selected が残った状態になったりする
コードから選択状態を設定(OK)
TreeView の Select メソッドへ array of TTreeNode 型の配列をまとめて渡せばよいらしい
// ex.1
TreeView.Select([node1, node2])
// ex.2
var Nodes: array of TTreeNode;
SetLength(Nodes, 2);
Nodes[0] := node1;
Nodes[1] := node2;
TreeView.Select(Nodes);
// ex.3
uses System.Generics.Collections;
var NodeList: TList<TTreeNode>
NodeList := TList<TTreeNode>.Create;
NodeList.Add(node1);
NodeList.Add(node2);
TreeView.Select(NodeList.ToArray);
NodeList.Free;
コメント