본문 바로가기
컴퓨터

윈도우 클래스

by 루이보스 스타 2007. 6. 27.

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