TreeViewで任意のノードを選択状態にするには?

解決


おはぎ  2003-07-28 23:58:51  No: 4257

初心者です。お願いします。
TTreeViewで『プログラム側から』任意のノードを選択状態にしたいのですが
可能でしょうか?できれば行数の指定などで。
イベントが発生しないと無理でしょうか?

たとえば、以下の様なツリーで作成時にあらかじめ
1行目:aa1(aaaを0行目とした場合)が選択されているようにしたいのですが。
  aaa
    aa1
    aa2
  bbb


Halbow  2003-07-29 01:30:11  No: 4258

Halbow  です。

rocedure TForm1.FormCreate(Sender: TObject);
begin
  TreeView1.Selected := TreeView1.Items[1];
end;

だとおもいますが....。


おはぎ  2003-07-29 03:46:05  No: 4259

Halbow様

早速のお答えありがとうございます。解決しました。

TreeView1.Selected := TreeView1.Items[1];
この記述を(他にもアレコレと、、)書いてみたのですが、
上手くいかずこちらへ書込んだのですが
その後の処理でボタンButtonやEditのEnabledを操作している箇所があり
(そのせいかは不明ですが)TreeViewからフォーカスが外れていたみたいです。
TreeView1.SetFocus;
を記述したらきちん(反転して)と見ることができました。

デバッグ不足でした、お手数をおかけしました。<(__)>


Halbow  URL  2003-07-30 10:48:22  No: 4260

Halbow です。

> TreeView1.Selected := TreeView1.Items[1];

これでもいいのですが、

TreeView1.Items[1].Selected := true;

こうやるほうが、読みやすくていいですね。

> TreeViewからフォーカスが外れていたみたいです。

HideSelection プロパティーを false にすると、フォーカスがないとき
でも選択項目が薄く反転されて見えます。


おはぎ  2003-07-31 00:11:46  No: 4261

>TreeView1.Items[1].Selected := true;
確かに。こちらのほうが見やすいですね。

>HideSelection プロパティーを false にすると、フォーカスがないとき
>でも選択項目が薄く反転されて見えます。

トライしてみました。
画面からノード選択をした時との見た目の違いができ、いいですね。
違いが欲しかったのでこれは非常にナイスです。感謝です。
ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加