4

ツリービューの展開ボックス(「プラス/マイナス」)を描画する必要がある所有者描画コントロールがあります。ビジュアルスタイルをオンにすると、簡単です。適切なVisualStyleElementのレンダラーを作成するだけです。

VisualStyleElement element = VisualStyleElement.TreeView.Glyph.Opened
VisualStyleRenderer renderer = new VisualStyleRenderer( element );
Size size = renderer.GetPartSize( graphics, ThemeSizeType.True );
...
renderer.DrawBackground( graphics, someRect );

ビジュアルスタイルがオフのときに同様の効果を達成することは可能ですか?コントロール全体を描画できるControlPaintクラスがあることは知っていますが、 TreeViewコントロールの一部だけを描画(およびサイズを取得)するにはどうすればよいですか?

4

1 に答える 1

1

VisualStyles がなければ、プラス マイナス コントロールは DrawRectangle と DrawLine メソッドの呼び出しだけだと思います。

長方形の部分はSystemColors.Control色を使っているように見え、プラス/マイナスの部分はSystemColors.ControlText(または黒)のように見えます。

ここに画像の説明を入力

于 2011-11-08T14:38:28.387 に答える