2011-11-08 3 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); 

가 시각적 스타일이 꺼져있을 때와 비슷한 효과를 얻을 수 있습니까? 나는 전체 컨트롤을 그릴 수있는 ControlPaint 클래스를 알고 있지만 어떻게 그릴 수 있습니까 (그리고 크기를 얻을) 의 일부 TreeView 컨트롤?

답변

1

VisualStyles가 없으면 플러스 마이너스 컨트롤은 DrawRectangle 및 DrawLine 메서드 호출이라고 생각합니다.

사각형 부분은 SystemColors.Control 색상을 사용하고, 플러스/마이너스 부분은 SystemColors.ControlText (또는 검은 색)처럼 보입니다.

enter image description here

+0

좀 "높은 수준"접근을 기대했지만,이 올바르게 작동합니다. –

관련 문제