2010-12-07 16 views
5

tabcontrol에 문제가 있습니다. DrawMode를 ownderdrawfixed로 변경하면 tabcontrol의 borderstyle이 "fixedsingle"에서 "3dfixed"로 변경되지만 tabcontrol borderstyle과 같은 속성은 없습니다. tabcontrol의 테두리 스타일에 가장 가까운 것은 변경되지 않은 모양입니다. 위의 그림에서tabcontrol ownerdraw는 tabcontrol의 테두리 스타일을 변경합니다.

alt text

보면 내가 무슨 말을 이해합니다.

ownerdraw를 사용하지 않고도 tabpage 제목의 색상으로 변경할 수있는 방법이 있습니까? ownerdraw를 사용할 필요가 없습니까?

또는 tabcontrol의 테두리 스타일을 어떻게 수정합니까?

+0

하는 OwnerDraw 시각적 스타일 렌더러를 비활성화합니다

는 트 리뷰하는 OwnerDraw에 대한이 질문을 참조하십시오. –

+0

ownerdraw에서 어떻게 활성화 할 수 있습니까? – Ron

답변

3

컨트롤을 ownerdraw로 설정하면 "나는이 컨트롤의 모든 그림을 처리 할 것입니다."라고 구체적으로 말합니다. 이렇게하면 비주얼 스타일 렌더링이 완전히 비활성화됩니다.

시각적 스타일을 사용하여 컨트롤을 렌더링하려면 System.Windows.Forms.VisualStyles 네임 스페이스에있는 기능을 사용해야합니다. 좋은 코드가 필요하지만, 당신은 스스로 그것을 다 처리하고 싶다고 말하고 있습니다. VisualStyleRenderer에 대한 예제부터 시작하겠습니다. 호출하려면 VisualStyleElements을 전달해야합니다. VisualStyleRenderer and themes (WinForms)

+0

내가 원하는 테두리를 그리는이 함수가 있습니다. http://msdn.microsoft.com/en-us/library/system.windows.forms.visualstyles.visualstyleelement.tab.pane%28v=VS.90%29.aspx 하지만 사용법은 잘 모릅니다. DrawVisualStyleElementTabPane1 (e)를 폼의 페인트 함수에 넣으면 새로운 "컨트롤"이 그려집니다. – Ron

관련 문제