この写真のように、フォーカスボックスのTVirtualStringTreeの境界線の色を変更する必要があります。
2 に答える
点線のフォーカス長方形の色を制御することはできません。それは、描かれているものの色を反転させることによって自動的に決定されます。OSは、そのためのAPIを提供します—そしてツリーコントロールはそれを使用します— 。DrawFocusRect
(必要に応じて、ソースコードを編集し、への呼び出しを独自の関数に置き換えることができます。)
toUseBlendedSelection
ノード全体の色について話している場合は、最初にペイントオプションが希望どおりに設定されていることを確認してください。デフォルトではオフになっていますが、アイテムの周りのボックスをドラッグすると選択長方形がかっこよく見えるため、通常の選択されたノードに対しても何が行われるかを理解せずにオンになっている可能性があります。
そうでない場合は、ツリーコントロールのColors
プロパティの値の1つ、おそらくまたはのいずれかFocusedSelectionColor
を調整しますUnfocusedSelectionColor
。ただし、そのような変更を軽く行わないでください。ユーザーがOSオプションを使用して選択色を選択したため、おそらく変更しないでください。別の色を使用する場合は、選択した新しい色に対してテキストが読みやすいことを確認してください。
treeviewのオプションtoHideFocusRectangle
をtrueに設定し、いくつかのペイントイベントの1つで自分でフォーカス長方形をペイントできます(基本的にはを使用するだけで十分OnBeforeCellPaint
です)。