문제

내가 하려고 쓰기 사용자 지정 TGraphicControl 후손이 하는 것을 허용할 사용자를 포함하는 SDL 렌더링 화면에 VCL 형태입니다.이렇게 간단한 방법으로 표시하는 SDL 에서 애니메이션 형태입니다.

분명히 TGraphicControl 다시 그리와 페인트 방법입니다.이 얼마나 자주라는?그것은 경우에만 뭔가가 일어나 무효화하 제어,또는 다른 것들을까요?어떻게 상호 작용하는 무언가가 그것의 자신의 그릴 수 있습니다.

도움이 되었습니까?

해결책

질문 1: 이 얼마나 자주라는?

대답을 참조하십시오 Mghie:때마다 부모는 창 제어 프 WM_PAINT 메시지

질문이 2: 그것은 만 뭔가가 발생하기 무효화하 제어,또는 거기에 는 다른 것들을까요?

대답을 참조하십시오 Mghie:의 경우에만 무효화

질문 3: 어떻게 와 상호 작용하는 무언가 그것의 자신의 그릴 수 있습니다.

당신을 당신의 자신의 drawning 일상적인 페인트 방법의 TGraphicControl 하위-재정의를 사용하는 지시어.페인트로 그림 그리기 메소드를 보내지 않는 다른 WM-페인트 메시지입니다.는 동안에 페인트할 수 있는 방법이 캔버스에 그리지 않고 점점에서 WM-페인트 메시지가 반복입니다.당신의 그리기 코드는 가능한 한 빨리할 수 있기 때문에 매우 몇 가지 WM-페인트 메시지를 주위를 비행.는 경우에 당신의 그림 일상적인 소요 시간이 많이 응용 프로그램이 나타납니다 부진/non-반응이다.

다른 팁

비 창자 제어 (tgraphiccontrol이있는)의 페인트 방법은 아래의 윈도우 컨트롤이 자체를 다시 그리기 할 때 호출됩니다. 이는 창 제어에 대한 WM_PAINT 메시지가 처리 될 때 발생합니다.

창 컨트롤은 전체 영역 또는 일부 부분이 무효화되었을 때 또는 ZoRDER에서 더 높은 다른 창이 닫히거나 움직이면 창을 노출시켜 다시 그려야합니다.

tgraphiccontrol을 무효화하면 창문이있는 상위 제어의 해당 부분을 계산 하고이 부분을 무효화합니다.

스스로를 다시 그리기 위해 tgraphiccontrol이 필요한 경우 IT 또는 상위 제어를 무효화해야합니다. 다시 그리기를 일으키는 다른 방법은 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top