3

この写真のように、フォーカスボックスのTVirtualStringTreeの境界線の色を変更する必要があります。

灰色から赤色へ

4

2 に答える 2

6

点線のフォーカス長方形の色を制御することはできません。それは、描かれているものの色を反転させることによって自動的に決定されます。OSは、そのためのAPIを提供します—そしてツリーコントロールはそれを使用します— 。DrawFocusRect(必要に応じて、ソースコードを編集し、への呼び出しを独自の関数に置き換えることができます。)

toUseBlendedSelectionノード全体の色について話している場合は、最初にペイントオプションが希望どおりに設定されていることを確認してください。デフォルトではオフになっていますが、アイテムの周りのボックスをドラッグすると選択長方形がかっこよく見えるため、通常の選択されたノードに対しても何が行われるかを理解せずにオンになっている可能性があります。

そうでない場合は、ツリーコントロールのColorsプロパティの値の1つ、おそらくまたはのいずれかFocusedSelectionColorを調整しますUnfocusedSelectionColor。ただし、そのような変更を軽く行わないでください。ユーザーがOSオプションを使用して選択色を選択したため、おそらく変更しないでください。別の色を使用する場合、選択した新しい色に対してテキストが読みやすいことを確認してください。

于 2011-04-12T04:24:12.623 に答える
2

treeviewのオプションtoHideFocusRectangleをtrueに設定し、いくつかのペイントイベントの1つで自分でフォーカス長方形をペイントできます(基本的にはを使用するだけで十分OnBeforeCellPaintです)。

于 2011-04-12T05:37:00.777 に答える