2009-09-25 1 views
0

몇 개의 버튼이있는 UserControl이 있습니다. OnPaint를 재정의하고 컨트롤에 다른 것들을 칠하고 싶습니다.UserControl OnPaint에는 항상 {0,0,0,0}의 clipRect가 있습니다.

그래서 OnPaint를 재정의합니다.

OnPaint가 호출 될 때마다 ClipRectangle은 항상 {0,0,0,0}이므로 아무 것도 컨트롤에 그려지지 않습니다.

내가 뭘 잘못하고 있니?

+0

당신은 당신이 작성한 코드를 표시 할 수 있습니다 .. 나는 생각한다이 작업을 얻을 수있는 패널에 대해 엉망이? 그리고 당신이하려고하는 것에 대해 조금 설명 할 수 있습니다. – danish

답변

1

좋아, 필자는 그것을 지금 sussed. 그것은 약간 어리 석다. 컨트롤에 도킹 된 TableLayoutPanel이 있습니다. 그것은 우리가 칠할 수있는 모든 영역을 잘라내는 것처럼 보입니다.

TableLayoutPanel에서 파생 된 새 컨트롤을 만들고 대신이 컨트롤을 사용했습니다. OnPaint는 전체 클립 rect를 가져옵니다.

그러나 어쨌든 어떤 용도로도 사용되지 않았습니다. Windows Painting이 어떻게 작동하는지 오해 한 것 같습니다. 나는 내 컨트롤의 상단에 직접 칠할 수있을 것이라고 생각했지만, 그렇지 않습니다. 컨트롤은 내 그림 위에 배치됩니다.

후끈