WNDCLASS

RegisterClass 함수에 의해 등록 된 창 클래스 특성을 포함 하는 WNDCLASS 구조체.

이 구조 RegisterClassEx 함수를 함께 사용 하는 WNDCLASSEX 구조에 의해 대체 되었습니다. 계속 사용할 수 있습니다 WNDCLASSRegisterClass 창 클래스와 관련 된 작은 아이콘을 설정할 필요가 없는 경우.

typedef struct _WNDCLASS {UINT 스타일; 
    WNDPROC lpfnWndProc; 
    int cbClsExtra; 
    int cbWndExtra; 
    핸들의 hInstance; 
    HICON hIcon; 
    HCURSOR hCursor; 
    HBRUSH hbrBackground; 
    LPCTSTR lpszMenuName; 
    LPCTSTR lpszClassName; 
} WNDCLASS 
 

회원

스타일
클래스 style(s)를 지정합니다. 비트 OR를 사용 하 여 스타일을 결합 될 수 있다 (|) 연산자. 이 구성원은 다음 값의 조합 될 수 있습니다.:
액션
CS_BYTEALIGNCLIENT 창의 클라이언트 영역 (x 방향)에서 바이트 경계에 정렬합니다. 이 스타일 창 및 디스플레이 가로 위치 너비에 영향을.
CS_BYTEALIGNWINDOW 창 (x 방향)에서 바이트 경계에 정렬합니다. 이 스타일 창 및 디스플레이 가로 위치 너비에 영향을.
CS_CLASSDC 하나의 장치 컨텍스트 클래스의 모든 창에서 공유를 할당 합니다. 창 클래스에 특정 프로세스 이므로 동일한 클래스의 창을 만드는 응용 프로그램의 다중 스레드에 대 한 불가능 합니다. 또한 스레드 장치 컨텍스트를 동시에 사용 하는 것을 시도 하는 것이 불가능 합니다. 이 경우 시스템 성공적으로 그리기 작업을 완료 하는 스레드가 하나만 있습니다. 자세한 내용은 참조 장치 컨텍스트.
CS_DBLCLKS 커서가 클래스에 속하는 창 내에서 마우스를 클릭할 때 보내는 메시지 창 프로시저를 두 번 클릭.
CS_GLOBALCLASS CreateWindow 또는 CreateWindowEx 함수에 전달 하는 hInstance 매개 변수의 값에 관계 없이 클래스의 창을 만드는 응용을 프로그램을 수 있습니다. 이 스타일을 지정 하지 않은 경우 CreateWindow (또는 CreateWindowEx) 함수에 전달 된 hInstance 매개 RegisterClass 함수에 전달 된 hInstance 매개 변수로 동일 해야.
동적 연결 라이브러리 (DLL)에서 창 클래스를 만들고 레지스트리에서 다음 키 아래에 있는 DLL의 이름을 나열 하 여 글로벌 클래스를 만들 수 있습니다.:
HKEY_LOCAL_MACHINE\소프트웨어
\Microsoft\Windows NT\
CurrentVersion\윈도우\AppInit_DLLs
프로세스가 시작 될 때마다 시스템 그 과정에서 진입점 함수를 호출 하기 전에 새로 시작된 하는 프로세스의 컨텍스트에서 지정 된 Dll을 로드 합니다. DLL 초기화 절차 동안 클래스를 등록 해야 하 고 CS_GLOBALCLASS 스타일을 지정 해야 합니다.
CS_HREDRAW 클라이언트 영역의 너비를 변경 하는 이동 또는 크기 조정 하는 경우 창 전체를 다시 그립니다.
CS_NOCLOSE 메뉴에서 닫기 비활성화.
CS_OWNDC 클래스의 각 창에 대 한 고유한 장치 컨텍스트를 할당.
CS_PARENTDC 자식 부모에 그릴 수 있도록 부모 창과의 자식 창의 클리핑 영역을 설정 합니다. CS_PARENTDC 스타일 비트 창 장치 컨텍스트는 시스템의 캐시에서 일반 장치 컨텍스트를 받습니다. 상위의 장치 컨텍스트 또는 장치 컨텍스트 설정을 아이 제공 하지 않습니다. CS_PARENTDC를 지정 하면 응용 프로그램의 성능을 향상 시킵니다. 자세한 내용은 참조 장치 컨텍스트.
CS_SAVEBITS 화면 이미지는 창에 의해 가려진 부분을 비트맵으로 저장 합니다. 시스템 저장 된 비트맵을 사용 하 여 창을 제거 하는 경우 화면 이미지를 다시 만듭니다. 시스템은 원래 위치에서 비트맵을 표시 하 고 전송 하지 않습니다 WM_PAINT 메시지를 windows 비트맵 사용 하는 메모리 삭제 되지 및 다른 화면 작업 저장된 된 이미지를 무효화 하지는 창에 의해 가려집니다. 이 스타일은 간략하게 표시 되 고 다음 다른 스크린 활동을 수행 하기 전에 제거 하는 작은 창 (예를 들어, 메뉴 또는 대화 상자)에 대 한 유용 합니다. 이 스타일을 시스템 먼저 비트맵을 저장할 메모리를 할당 해야 합니다 때문에 창을 표시 하는 데 필요한 시간 증가.
CS_VREDRAW 이동 또는 크기 조정 클라이언트 영역의 높이 변경 하는 경우 창 전체를 다시 그립니다.

lpfnWndProc
창 프로시저에 포인터입니다. CallWindowProc 함수를 사용 하 여 창 프로시저를 호출 해야 합니다. 자세한 내용은 다음 웹 사이트를 참조 하십시오. WindowProc.
cbClsExtra
창 클래스 구조 다음 할당할 추가 바이트 수를 지정 합니다. 시스템 초기화 0 바이트.
cbWndExtra
창 인스턴스 다음 할당할 추가 바이트 수를 지정 합니다. 시스템에는 0 바이트를 초기화합니다. DLGWINDOWEXTRA에이 멤버를 설정 해야 합니다 응용 프로그램 WNDCLASS 를 사용 하 여 리소스 파일의 클래스 지시문을 사용 하 여 만든 대화 상자 등록을 하는 경우.
hInstance
이 클래스의 창 프로시저 내에서 인스턴스 핸들.
hIcon
클래스 아이콘을 처리 합니다. 이 멤버는 아이콘 리소스의 핸들 이어야 합니다. 사용자 응용 프로그램의 창을 최소화 될 때마다이 멤버가 NULL 이면 응용 프로그램 아이콘을 그릴 해야 합니다.
hCursor
클래스 커서에 대 한 핸들. 이 멤버는 커서 리소스의 핸들 이어야 합니다. 이 멤버가 NULL 이면 응용 프로그램이 명시적으로 설정 해야 합니다 커서 모양이 응용 프로그램의 창으로 마우스를 이동할 때마다.
hbrBackground
클래스 배경 브러시 처리 합니다. 이 구성원 배경, 페인트 하는 데 사용할 실제 브러시에 대 한 핸들 또는 색 값일 수 있습니다. 색상 값 (값 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 메시지를 처리 하거나 테스트의 fErase 멤버는 PAINTSTRUCT 구조체에 의해 채워는 BeginPaint 함수.

lpszMenuName
포인터를 null로 끝나는 문자열 이름으로 클래스 메뉴 리소스 이름을 지정 하는 리소스 파일에 나타납니다. 메뉴를 식별 하는 정수를 사용 하는 경우 MAKEINTRESOURCE 매크로 사용 합니다. 이 멤버가 NULL 이면이 클래스에 속하는 windows 기본 메뉴를 없음 있다.
lpszClassName
Null로 끝나는 문자열에 대 한 포인터 또는 원소. 이 매개 변수는 원자 경우 GlobalAddAtom 함수에 대 한 이전 호출에서 만든 글로벌 아톰 이어야 합니다. 원자, 16-비트 값 lpszClassName; 낮은 순서 단어에 있어야 합니다. 높은 순서 단어는 0 이어야 합니다.

창 클래스 이름을 지정 lpszClassName 문자열인 경우.

QuickInfo

nbsp;?Windows &NT: 버전 3.1 이상이 필요 합니다.
Windows:Windows 95 이상이 필요합니다.
Windows CE:버전 1.0 이상이 필요합니다.
헤더:Winuser.h에서 선언합니다.
유니코드:유니코드와 ANSI 구조 정의.

참고 항목

Window Classes Overview, Window Class Structures, BeginPaint, CreateWindow, CreateWindowEx, GetDC, GlobalAddAtom, MAKEINTRESOURCE, PAINTSTRUCT, RegisterClass, WNDCLASSEX, WindowProc, WM_PAINT

 

Index