typedef struct tagWNDCLASS
{
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
}WNDCLASS;
style : 윈도우의 스타일을 정의, 이 멤버가 가질 수 있는 연산자는 무척 많지만 가장 많이 사용하는 값이 CS_HREDRAW 와 CS_VREDRAW 이다. 이 두 값을 OR 연산자로 연결하여 사용, 스타일은 윈도우의 수직과 수평 크기가 변하게 될 경우 윈도우를 다시 그린다는 것이다.
lpfnWndProc : 윈도우의 메시지 처리 함수를 지정, 메시지가 발생할 때마다 이 멤버가 지정하는 함수가 호출, 이 함수가 모든 메시지 처리, 메시지 처리 함수의 이름은 마음대로 정할 수 있다.
cbClsExtra, cbWndExtra : 예약 영역, 윈도우즈가 내부적으로 사용, 예약 영역을 사용하지 않을 경우는 0 으로 지정
hInstance : 윈도우 클래스를 등록하는 프로그램의 번호, 이 값은 WinMain 의 인수로 전달된 hInstance 값을 그대로 대입해주면 된다.
hIcon, hCursor : 윈도우가 사용할 마우스 커서와 아이콘을 지정, LoadCursor 함수와 LoadIcon 함수를 사용하여 커서, 아이콘을 읽어와 이 멤버에 대입해 주면 된다.
hbrBackground : 윈도우의 배경 색상을 지정, 윈도우의 배경 색상을 채색할 브러시를 지정하는 멤버이다. GetStockObject 라는 함수를 사용하여 윈도우즈에서 기본적으로 제공하는 브러시를 지정하거나 아니면 시스템 색상을 지정할 수도 있다.
lpszMenuName : 프로그램이 사용할 메뉴를 지정, 메뉴는 프로그램 코드에서 실행중이 만드는 것이 아니라 리소스 에디터에 의해 별도로 만들어진 후 링크시에 같이 합쳐진다. 메뉴를 사용하지 않을 경우 NULL 을 대입해주면 된다.
lpszClassName : 윈도우 클래스의 이름을 문자열로 정의한다. 지정한 이름은 CreateWindow 함수에 전달되며 CreateWindow 함수는 윈도우 클래스에서 정의한 특성값을 참조하여 윈도우를 만든다.
'컴퓨터' 카테고리의 다른 글
통신 및 그래프 테스트 프로그램 (0) | 2008.06.19 |
---|---|
자바스크립트(JavaScript) (0) | 2008.01.31 |
아래 소스 분석 (0) | 2007.06.10 |
윈도우 생성 (0) | 2007.06.08 |
내가 만든 그림판 (0) | 2007.06.05 |