RegisterClass

원형 ATOM RegisterClass(CONST WNDCLASS *lpWndClass);
인수 ▶lpWndClass : 등록할 윈도우 클래스의 특성을 지정하는 WNDCLASS 구조체
리턴

성공하면 등록된 윈도우 클래스를 나타내는 아톰값을 리턴하며 에러 발생시 0을 리턴한다. 이 함수가 리턴하는 아톰값은 CreateWindow 함수에서 사용할 수도 있으나 대개의 경우 아톰보다는 윈도우 클래스 이름을 사용하므로 이 함수의 리턴값은 무시한다.

설명

윈도우 클래스를 등록한다. 윈도우 클래스는 생성될 윈도우의 여러 가지 특성을 가지는 구조체이며 CreateWindow 함수로 윈도우를 생성하기 전에 윈도우 클래스가 반드시 등록되어 있어야 한다. WNDCLASS 구조체를 선언한 후 이 구조체에 원하는 속성을 설정하고 RegisterClass 함수로 윈도우 클래스를 등록한다. 다음 코드는 가장 일반적인 윈도우 클래스 등록 코드이다.

WNDCLASS WndClass;


WndClass.cbClsExtra=0;
WndClass.cbWndExtra=0;
WndClass.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);
WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
WndClass.hInstance=hInstance;
WndClass.lpfnWndProc=(WNDPROC)WndProc;
WndClass.lpszClassName=lpszClass;
WndClass.lpszMenuName=NULL;
WndClass.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&WndClass);

hWnd=CreateWindow(lpszClass,lpszClass,WS_OVERLAPPEDWINDOW,
	CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
	NULL,(HMENU)NULL,hInstance,NULL);

이 함수로 등록한 윈도우 클래스는 별도의 작은 아이콘을 지정할 수 없으며 hIcon 멤버가 지정하는 아이콘을 축소하여 작은 아이콘으로 대신 사용한다. 작은 아이콘을 따로 지정하려면 RegisterClassEx 함수를 사용해야 한다.

참고함수

RegisterClassEx : WNDCLASSEX 구조체로 윈도우 클래스를 등록한다.

CreateWindow, IsWindowUnicode

플렛폼95이상
본문참조 

written by http://www.winapi.co.kr