2

TreeView コントロールを作成するときは、いくつかの項目を挿入してから、TVM_SELECTITEM を使用して既定の項目を選択します。ただし、このアイテムは青色で強調表示されていません。後で、マウスまたはキーボードを使用して項目を選択すると、強調表示されます。

では、デフォルトの項目を強調表示するにはどうすればよいでしょうか?

これは私が使用した関数とパラメータです:

SendMessage(hTreeView, TVM_SELECTITEM, TVGN_CARET, (LPARAM)hItem);

TreeView コントロールにフォーカスを設定するだけで機能することがわかりました。

ただし、次の図のように、ユーザーがいくつかのオプションを選択したときに、TreeView がフォーカスを失った場合でも、アイテムを灰色で強調表示するにはどうすればよいですか。

ここに画像の説明を入力

4

1 に答える 1

2

元の質問に対する答えを見つけたので、2 番目の質問に答えます。

TreeView コントロールにフォーカスを設定するだけで機能することがわかりました。

ただし、次の図のように、ユーザーがいくつかのオプションを選択したときに、TreeView がフォーカスを失った場合でも、アイテムを灰色で強調表示するにはどうすればよいですか。

TreeView コントロールにTVS_SHOWSELALWAYSウィンドウ スタイルを指定します。(ちなみに、表示されているスクリーンショットは、TreeView コントロールではなく、ListView コントロールを使用しています。ListView コントロールには同等LVS_SHOWSELALWAYSのスタイルがあります。)

于 2013-01-01T16:30:28.897 に答える