我有一个所有者绘制的控件,我需要绘制树视图的展开框(“加/减”)。打开视觉样式很容易,只需为相应的 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 控件的一部分?
答案 0 :(得分:1)
如果没有VisualStyles,我认为加减控件只是DrawRectangle和DrawLine方法调用。
矩形部分看起来像是使用SystemColors.Control
颜色,而加/减部分看起来像SystemColors.ControlText
(或黑色)。