본문 바로가기
WINapi

윈도우 클래스 정리

by lolchangilsang 2022. 4. 1.
LPCSTR lpszClassName;​
#include <windows.h>
typedef struct tagWNDCLASS
{
    UINT        style;
    WNDPROC     lpfnWndProc;
    int         cbClsExtra;
    int         cbWndExtra;
    HINSTANCE   hInstance;
    HICON       hIcon;
    HCURSOR     hCursor;
    HBRUSH      hbrBackground;
    LPCSTR      lpszMenuName;
    LPCSTR      lpszClassName;
} WNDCLASS;
 UINT style;

윈도우의 스타일을 정의한다. 즉 윈도우가 어떤 형태를 가질 것인가를 지정하는 멤버이다.

-----------------------------------------------------------------------------------------------------------------------------------

 

WNDPROC lpfnWndProc;

메시지 처리함수를 넣어주면 된다 

-----------------------------------------------------------------------------------------------------------------------------------

 

int cbClsExtra; //클래스 여분 메모리
int cbWndExtra; //윈도우 여분 메모리

거의 사용하지 않으며 대부분의 상황에서 0으로 설정한다

----------------------------------------------------------------------------------------------------------------------------------

 

HINSTANCE hInstance;

이 윈도우 클래스를 사용하는 프로세스의 번호이며 이 값은 WinMain의 인수로 전달된 hInstance값을 그대로 대입해주

 

면 된다

-----------------------------------------------------------------------------------------------------------------------------------

 

HICON hIcon;
HCURSOR hCursor;

이 윈도우가 사용할 마우스 커서와 최소화되었을 경우 출력될 아이콘을 지정한다. LoadCursor 함수와 LoadIcon 함수를

 

사용하여 지정한다. 사용자가 직접 아이콘과 커서를 만들어 사용할 수도 있다

-----------------------------------------------------------------------------------------------------------------------------------

 

HBRUSH hbrBackground;

윈도우의 배경 색상을 채색할 브러시를 지정하는 멤버이다, 그냥 배경 색상을 정하는 놈이다. GetStockObject라는 함수

 

를 사용하여 윈도우에서 기본적으로 제공하는 브러시를 지정한다

-----------------------------------------------------------------------------------------------------------------------------------

 

LPCSTR lpszMenuName;

이 프로그램이 사용할 메뉴를 지정한다, 메뉴는 프로그램 코드에서 만드는 것이 아니라 리소스 에디터에 의해 별도로 만

 

들어진 후에 링크시에 같이 합쳐진다. 메뉴를 용하지 않을 경우 NULL을 대입해주면 된다

-----------------------------------------------------------------------------------------------------------------------------------

 

LPCSTR lpszClassName;

윈도우 클래스의 이름을 정의한다

-----------------------------------------------------------------------------------------------------------------------------------

 

윈도우 클래스의 멤버들을 다 정의를 해줬다면

 

ATOM RegisterClass( CONST WNDCLASS *lpWndClass);

위 함수를 이용하여 윈도우 클래스를 등록해주어야 한다

 

인자로는 자신이 만든 윈도우 클래스의 주소값을 넣어주면 된다

 

 

 

'WINapi' 카테고리의 다른 글

nCmdShow 매크로 정리  (0) 2022.04.01
CreateWindow함수, ShowWindow함수  (0) 2022.04.01
Win32Api)UINT style 매크로 정리  (0) 2022.04.01
WIN32API 정리  (0) 2022.03.31
WIN32 접두어 및 데이터형 일부 정리  (0) 2022.03.30