初心者です。お願いします。
TTreeViewで『プログラム側から』任意のノードを選択状態にしたいのですが
可能でしょうか?できれば行数の指定などで。
イベントが発生しないと無理でしょうか?
たとえば、以下の様なツリーで作成時にあらかじめ
1行目:aa1(aaaを0行目とした場合)が選択されているようにしたいのですが。
aaa
aa1
aa2
bbb
Halbow です。
rocedure TForm1.FormCreate(Sender: TObject);
begin
TreeView1.Selected := TreeView1.Items[1];
end;
だとおもいますが....。
Halbow様
早速のお答えありがとうございます。解決しました。
TreeView1.Selected := TreeView1.Items[1];
この記述を(他にもアレコレと、、)書いてみたのですが、
上手くいかずこちらへ書込んだのですが
その後の処理でボタンButtonやEditのEnabledを操作している箇所があり
(そのせいかは不明ですが)TreeViewからフォーカスが外れていたみたいです。
TreeView1.SetFocus;
を記述したらきちん(反転して)と見ることができました。
デバッグ不足でした、お手数をおかけしました。<(__)>
Halbow です。
> TreeView1.Selected := TreeView1.Items[1];
これでもいいのですが、
TreeView1.Items[1].Selected := true;
こうやるほうが、読みやすくていいですね。
> TreeViewからフォーカスが外れていたみたいです。
HideSelection プロパティーを false にすると、フォーカスがないとき
でも選択項目が薄く反転されて見えます。
>TreeView1.Items[1].Selected := true;
確かに。こちらのほうが見やすいですね。
>HideSelection プロパティーを false にすると、フォーカスがないとき
>でも選択項目が薄く反転されて見えます。
トライしてみました。
画面からノード選択をした時との見た目の違いができ、いいですね。
違いが欲しかったのでこれは非常にナイスです。感謝です。
ありがとうございました。
ツイート | ![]() |