본문 바로가기
프로그래밍/시스템

Win32 API로 프로그램을 작성할 때에..

by 써드아이 2010. 9. 23.

1. 
WM_PAINT 메세지 처리루틴에 Begin/EndPaint() 함수를 꼭 넣어주자.
안 그러면 WM_PAINT 메세지가 무한히 발생한다. 결국은 CPU 사용율 증가..

오래전에 알았던 내용인데 까먹고 있다가 코드 테스트중 CPU 사용율이 증가해서
한참을 삽질함..

- DefWindowProc() 함수 호출로 해결 가능하군..


2.
CreateWindow() 함수는 리턴 되기도 전에 WM_CREATE 메세지를 발생시키며
WndProc을 호출하여 처리까지 해버린다. 이 때, WndProc() 함수는 리턴도 안된 
윈도우 핸들을 인자로 넘겨 받는다. 

이것 때문에 얼마나 골머리를 앓았나...

Win32 API를 class화 하던 도중 Child 윈도우가 생성되지 않아 골머리를 앓고 있었는데
디버깅을 해보니까 위와 같은 문제가 있었다.