2011-11-08 25 views
4

我有一個所有者繪製控件,我需要繪製樹形視圖的擴展框(「加/減」)。隨着視覺樣式打開它很容易,只需要創建一個渲染適當VisualStyleElement如何繪製關閉視覺樣式的UI元素?

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

是否有可能在視覺樣式都關閉,以達到類似的效果?我知道有一個可以繪製整個控件的類,但是如何繪製(並獲取大小)只是控件的一部分?

回答

1

沒有VisualStyles,我認爲加減控件只是DrawRectangle和DrawLine方法調用。

矩形部分看起來像使用SystemColors.Control顏色,加號/減號部分看起來像SystemColors.ControlText(或黑色)。

enter image description here

+0

我一直希望有一些「更高層次」的方法,但是這種方法是正確的。 –