WNDCLASSEX

WNDCLASSEX 구조 창 클래스 정보를 포함 합니다. RegisterClassExGetClassInfoEx를 함께 사용 하는 함수.

WNDCLASSEX 구조 WNDCLASS 구조와 비슷합니다. 두 가지 차이점이 있습니다. WNDCLASSEX 구조체의 크기를 지정 하는 cbSize 멤버를 포함 하 고 작은 아이콘 핸들을 포함 하는 hIconSm 멤버 창 클래스와 관련 된.

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

회원

cbSize
이 구조체의 바이트에서 크기를 지정합니다. 이 구성원 sizeof(wndclassex)을 설정 합니다. GetClassInfoEx 함수를 호출 하기 전에이 멤버를 설정 해야 합니다.
스타일
클래스 style(s)를 지정합니다. 비트 OR를 사용 하 여 스타일을 결합 될 수 있다 (|) 연산자. 이 구성원은 다음 값의 조합 될 수 있습니다.:
액션
CS_BYTEALIGNCLIENT 창의 클라이언트 영역 (x 방향)에서 바이트 경계에 정렬합니다. 이 스타일 창 및 디스플레이 가로 위치 너비에 영향을.
CS_BYTEALIGNWINDOW 창 (x 방향)에서 바이트 경계에 정렬합니다. 이 스타일 창 및 디스플레이 가로 위치 너비에 영향을.
CS_CLASSDC 하나의 장치 컨텍스트 클래스의 모든 창에서 공유를 할당 합니다. 창 클래스에 특정 프로세스 이므로 동일한 클래스의 창을 만드는 응용 프로그램의 다중 스레드에 대 한 불가능 합니다. 또한 스레드 장치 컨텍스트를 동시에 사용 하는 것을 시도 하는 것이 불가능 합니다. 이 경우 시스템 성공적으로 그리기 작업을 완료 하는 스레드가 하나만 있습니다. 자세한 내용은 참조 장치 컨텍스트.
CS_DBLCLKS 커서가 클래스에 속하는 창 내에서 마우스를 클릭할 때 보내는 메시지 창 프로시저를 두 번 클릭.
CS_GLOBALCLASS CreateWindowEx 함수에 전달 된 hInstance 매개 변수의 값에 관계 없이 클래스의 창을 만드는 응용을 프로그램을 수 있습니다. 이 스타일을 지정 하지 않은 경우 CreateWindow (또는 CreateWindowEx) 함수에 전달 된 hInstance 매개 RegisterClassEx 함수에 전달 된 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에이 멤버를 설정 해야 합니다 응용 프로그램 WNDCLASSEX 를 사용 하 여 리소스 파일의 클래스 지시문을 사용 하 여 만든 대화 상자 등록을 하는 경우.
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 문자열인 경우.

hIconSm
창 클래스에 있는 작은 아이콘을 처리 합니다. 이 멤버가 NULL 이면 시스템 작은 아이콘으로 사용할 적절 한 크기의 아이콘에 대 한 hIcon 멤버에 의해 지정 된 아이콘 리소스 검색.

QuickInfo

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

참고 항목

창 클래스 개요 창 클래스 구조, GetClassInfoEx, RegisterClassEx

 

Index