다음을 통해 공유


WNDCLASSW 구조체(winuser.h)

RegisterClass 함수에 의해 등록된 창 클래스 특성을 포함합니다.

이 구조체는 RegisterClassEx 함수와 함께 사용되는 WNDCLASSEX 구조체로 대체되었습니다. 창 클래스와 연결된 작은 아이콘을 설정할 필요가 없는 경우에도 WNDCLASSRegisterClass 를 사용할 수 있습니다.

구문

typedef struct tagWNDCLASSW {
  UINT      style;
  WNDPROC   lpfnWndProc;
  int       cbClsExtra;
  int       cbWndExtra;
  HINSTANCE hInstance;
  HICON     hIcon;
  HCURSOR   hCursor;
  HBRUSH    hbrBackground;
  LPCWSTR   lpszMenuName;
  LPCWSTR   lpszClassName;
} WNDCLASSW, *PWNDCLASSW, *NPWNDCLASSW, *LPWNDCLASSW;

멤버

style

형식: UINT

클래스 스타일입니다. 이 멤버는 클래스 스타일의 조합일 수 있습니다.

lpfnWndProc

형식: WNDPROC

창 프로시저에 대한 포인터입니다. CallWindowProc 함수를 사용하여 창 프로시저를 호출해야 합니다. 자세한 내용은 WindowProc을 참조하세요.

cbClsExtra

형식: int

창 클래스 구조 다음에 할당할 추가 바이트 수입니다. 시스템은 바이트를 0으로 초기화합니다.

cbWndExtra

형식: int

창 instance 다음에 할당할 추가 바이트 수입니다. 시스템은 바이트를 0으로 초기화합니다. 애플리케이션이 WNDCLASS 를 사용하여 리소스 파일에서 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
UnregisterClass를 사용하여 클래스의 등록을 취소하면 시스템에서 클래스 배경 브러시를 자동으로 삭제합니다. 애플리케이션은 이러한 브러시를 삭제해서는 안 됩니다.

이 멤버가 NULL인 경우 애플리케이션은 클라이언트 영역에 페인트를 요청할 때마다 자체 배경을 그려야 합니다. 배경을 그려야 하는지 여부를 확인하기 위해 애플리케이션은 WM_ERASEBKGND 메시지를 처리하거나 BeginPaint 함수로 채워진 PAINTSTRUCT 구조체의 fErase 멤버를 테스트할 수 있습니다.

lpszMenuName

형식: LPCTSTR

리소스 파일에 이름이 표시되면 클래스 메뉴의 리소스 이름입니다. 정수 를 사용하여 메뉴를 식별하는 경우 MAKEINTRESOURCE 매크로를 사용합니다. 이 멤버가 NULL인 경우 이 클래스에 속하는 창에는 기본 메뉴가 없습니다.

lpszClassName

형식: LPCTSTR

null로 끝나는 문자열에 대한 포인터이거나 원자입니다. 이 매개 변수가 원자인 경우 RegisterClass 또는 RegisterClassEx 함수에 대한 이전 호출에서 만든 클래스 원자여야 합니다. 원자는 lpszClassName의 하위 단어에 있어야 합니다. 상위 단어는 0이어야 합니다.

lpszClassName이 문자열인 경우 창 클래스 이름을 지정합니다. 클래스 이름은 RegisterClass 또는 RegisterClassEx에 등록된 이름 또는 미리 정의된 컨트롤 클래스 이름일 수 있습니다.

lpszClassName의 최대 길이는 256입니다. lpszClassName이 최대 길이보다 크면 RegisterClass 함수가 실패합니다.

설명

참고

winuser.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 WNDCLASS를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 winuser.h(Windows.h 포함)

추가 정보

BeginPaint

개념

CreateWindow

CreateWindowEx

Getdc

MAKEINTRESOURCE

기타 리소스

PAINTSTRUCT

참조

Registerclass

UnregisterClass

WM_PAINT

WNDCLASSEX

창 클래스

WindowProc