2010. 7. 7. 10:04

윈도우를 생성하려면 WNDCLASS 클래스를 생성해서 시스템에 등록을 해야 한다. 이때 쓰는 함수가 RegisterClass() 이다  

OS에는  WNDCLASS만 관리하는 구조체가 있다.  RegisterClass()를 하게 되면 WNDCLASS 의 모든 내용이 윈도우 클래스를 관리하는 구조체로 복사하게 된고. 이때 WNDCLASS클래스의 내용을 모두 보관하고 추가로 내용을 더 보관하고 싶으면 WNDCLASScbClsExtra값을 지정 해주면 된다. 그러면 지정한 만큼의 메모리가 추가가 된다.

이때 기존의 메모리와 여분의 메모리에 접근하는 함수가 바로 SetClassLong() 이다.

ex)
static HBRUSH Brush;
SetClassLong(hWnd, GCL_HBRBACKGROUND, (LONG)Brush);

'Programming > Win32 API' 카테고리의 다른 글

윈도우열거  (0) 2010.07.07
윈도우 스타일 변경  (0) 2010.07.07
RegisterClass()와 RegisterClassEx()  (0) 2010.07.07
SetWindowLong()  (0) 2010.07.07
API 기본 윈도우 생성  (0) 2010.07.07
Posted by 어북어위크