WNDCLASSEXW 구조체(winuser.h)
창 클래스 정보를 포함합니다. RegisterClassEx 및 GetClassInfoEx 함수와 함께 사용됩니다.
WNDCLASSEX 구조체는 WNDCLASS 구조체와 유사합니다. 두 가지 차이점이 있습니다. WNDCLASSEX 에는 구조체의 크기를 지정하는 cbSize 멤버와 창 클래스와 연결된 작은 아이콘에 대한 핸들이 포함된 hIconSm 멤버가 포함됩니다.
구문
typedef struct tagWNDCLASSEXW {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCWSTR lpszMenuName;
LPCWSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEXW, *PWNDCLASSEXW, *NPWNDCLASSEXW, *LPWNDCLASSEXW;
멤버
cbSize
형식: UINT
이 구조체의 크기(바이트)입니다. 이 멤버를 로 sizeof(WNDCLASSEX)
설정합니다. GetClassInfoEx 함수를 호출하기 전에 이 멤버를 설정해야 합니다.
style
형식: UINT
클래스 스타일입니다. 이 멤버는 클래스 스타일의 조합일 수 있습니다.
lpfnWndProc
형식: WNDPROC
창 프로시저에 대한 포인터입니다. CallWindowProc 함수를 사용하여 창 프로시저를 호출해야 합니다. 자세한 내용은 WindowProc을 참조하세요.
cbClsExtra
형식: int
창 클래스 구조 다음에 할당할 추가 바이트 수입니다. 시스템은 바이트를 0으로 초기화합니다.
cbWndExtra
형식: int
창 instance 다음에 할당할 추가 바이트 수입니다. 시스템은 바이트를 0으로 초기화합니다. 애플리케이션이 WNDCLASSEX 를 사용하여 리소스 파일의 CLASS 지시문을 사용하여 만든 대화 상자를 등록하는 경우 이 멤버를 DLGWINDOWEXTRA로 설정해야 합니다.
hInstance
형식: HINSTANCE
클래스의 창 프로시저를 포함하는 instance 대한 핸들입니다.
hIcon
형식: HICON
클래스 아이콘에 대한 핸들입니다. 이 멤버는 아이콘 리소스에 대한 핸들이어야 합니다. 이 멤버가 NULL이면 시스템에서 기본 아이콘을 제공합니다.
hCursor
형식: HCURSOR
클래스 커서에 대한 핸들입니다. 이 멤버는 커서 리소스에 대한 핸들이어야 합니다. 이 멤버가 NULL인 경우 마우스가 애플리케이션의 창으로 이동할 때마다 애플리케이션에서 커서 셰이프를 명시적으로 설정해야 합니다.
hbrBackground
형식: HBRUSH
클래스 배경 브러시에 대한 핸들입니다. 이 멤버는 배경을 그리는 데 사용할 브러시에 대한 핸들이거나 색 값일 수 있습니다. 색 값은 다음 표준 시스템 색 중 하나여야 합니다(값 1은 선택한 색에 추가해야 합니다). 색 값이 지정된 경우 다음 HBRUSH 형식 중 하나로 변환해야 합니다.
- COLOR_ACTIVEBORDER
- COLOR_ACTIVECAPTION
- COLOR_APPWORKSPACE
- COLOR_BACKGROUND
- COLOR_BTNFACE
- COLOR_BTNSHADOW
- COLOR_BTNTEXT
- COLOR_CAPTIONTEXT
- COLOR_GRAYTEXT
- COLOR_HIGHLIGHT
- COLOR_HIGHLIGHTTEXT
- COLOR_INACTIVEBORDER
- COLOR_INACTIVECAPTION
- COLOR_MENU
- COLOR_MENUTEXT
- COLOR_SCROLLBAR
- COLOR_WINDOW
- COLOR_WINDOWFRAME
- COLOR_WINDOWTEXT
이 멤버가 NULL인 경우 애플리케이션은 클라이언트 영역에서 그리기를 요청할 때마다 자체 배경을 그려야 합니다. 배경을 그려야 하는지 여부를 확인하기 위해 애플리케이션은 WM_ERASEBKGND 메시지를 처리하거나 BeginPaint 함수로 채워진 PAINTSTRUCT 구조체의 fErase 멤버를 테스트할 수 있습니다.
lpszMenuName
형식: LPCTSTR
이름이 리소스 파일에 표시될 때 클래스 메뉴의 리소스 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 정수 를 사용하여 메뉴를 식별하는 경우 MAKEINTRESOURCE 매크로를 사용합니다. 이 멤버가 NULL인 경우 이 클래스에 속하는 창에는 기본 메뉴가 없습니다.
lpszClassName
형식: LPCTSTR
null로 끝나는 문자열에 대한 포인터이거나 원자입니다. 이 매개 변수가 atom인 경우 RegisterClass 또는 RegisterClassEx 함수에 대한 이전 호출에서 만든 클래스 원자여야 합니다. 원자는 lpszClassName의 낮은 순서 단어에 있어야 합니다. 상위 단어는 0이어야 합니다.
lpszClassName이 문자열인 경우 창 클래스 이름을 지정합니다. 클래스 이름은 RegisterClass 또는 RegisterClassEx에 등록된 이름 또는 미리 정의된 컨트롤 클래스 이름일 수 있습니다.
lpszClassName의 최대 길이는 256입니다. lpszClassName이 최대 길이보다 크면 RegisterClassEx 함수가 실패합니다.
hIconSm
형식: HICON
창 클래스와 연결된 작은 아이콘에 대한 핸들입니다. 이 멤버가 NULL인 경우 시스템은 hIcon 멤버가 지정한 아이콘 리소스에서 작은 아이콘으로 사용할 적절한 크기의 아이콘을 검색합니다.
설명
참고
winuser.h 헤더는 WNDCLASSEX를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
머리글 | winuser.h(Windows.h 포함) |
추가 정보
개념
참조