반응형
BOOL InvalidateRect(HWND hWnd, CONST RECT *lpRect, BOOL bErase); 
▶hWnd:무효 영역을 설정할 윈도우의 핸들. NULL일 경우 모든 윈도우를 무효화한다.
▶lpRect:무효화할 영역. NULL이면 작업 영역 전체가 무효화된다.
▶bErase:무효 영역의 배경을 먼저 지울 것인가를 지정한다. TRUE이면 BeginPaint 함수가 배경을 먼저 지운 후 작업 영역을 그린다.

설명:WM_PAINT를 직접 호출하지는 않지만 특정 영역을 무효화하여 시스템이 WM_PAINT를 호출
시스템은 무효화 영역을 캐취하면 WM_PAINT를 호출한다. 직접 호출하지 않으니
시스템이 message queue에 있는 다른 메세지를 처리 후 WM_PAINT를 호출하므로 딜레이 발생.
참고: http://www.winapi.co.kr/reference/Function/InvalidateRect.htm

BOOL UpdateWindow(HWND hWnd);
▶ hWnd : 윈도우 핸들
윈도우 프로시저로 WM_PAINT 메시지를 보내 작업영역을 강제로 그리도록 한다.
다른 어떤 메시지보다 WM_PAINT를 먼저 처리해야 할 경우 이 함수를 호출하여 즉시 처리.
(메시지 큐를 통하지 않고 호출하므로 적용이 빠르다.)
작업영역을 완전히 다시 즉시 그리려면 InvalidateRect함수로 작업영역 무효화 후 이 함수 호출
참고: http://www.winapi.co.kr/reference/Function/UpdateWindow.htm

+ Recent posts