CWndClassInfo 클래스
이 클래스는 창 클래스에 대한 정보를 등록하는 메서드를 제공합니다.
Important
이 클래스와 해당 멤버는 Windows 런타임에서 실행되는 애플리케이션에서 사용할 수 없습니다.
구문
class CWndClassInfo
멤버
공용 메서드
이름 | 설명 |
---|---|
Register | 창 클래스를 등록합니다. |
데이터 멤버
속성 | 설명 |
---|---|
m_atom | 등록된 창 클래스를 고유하게 식별합니다. |
m_bSystemCursor | 커서 리소스가 시스템 커서를 참조하는지 또는 모듈 리소스에 포함된 커서를 참조하는지 여부를 지정합니다. |
m_lpszCursorID | 커서 리소스의 이름을 지정합니다. |
m_lpszOrigName | 기존 창 클래스의 이름을 포함합니다. |
m_szAutoName | 창 클래스의 ATL 생성 이름을 보유합니다. |
m_wc | 구조체에서 WNDCLASSEX 창 클래스 정보를 유지 관리합니다. |
pWndProc | 기존 창 클래스의 창 프로시저를 가리킵니다. |
설명
CWndClassInfo
창 클래스의 정보를 관리합니다. 일반적으로 다음 표에 설명된 대로 DECLARE_WND_CLASS, DECLARE_WND_CLASS_EX 또는 DECLARE_WND_SUPERCLASS 세 개의 매크로 중 하나를 사용합니다 CWndClassInfo
.
매크로 | 설명 |
---|---|
DECLARE_WND_CLASS | CWndClassInfo 는 새 창 클래스에 대한 정보를 등록합니다. |
DECLARE_WND_CLASS_EX | CWndClassInfo 는 클래스 매개 변수를 포함하여 새 창 클래스에 대한 정보를 등록합니다. |
DECLARE_WND_SUPERCLASS | CWndClassInfo 는 기존 클래스를 기반으로 하지만 다른 창 프로시저를 사용하는 창 클래스에 대한 정보를 등록합니다. 이 기술을 슈퍼클래싱이라고 합니다. |
기본적으로 CWindowImpl 에는 새 창 클래스를 기반으로 창을 만드는 매크로가 포함되어 DECLARE_WND_CLASS
있습니다. DECLARE_WND_CLASS 컨트롤의 기본 스타일과 배경색을 제공합니다. 스타일과 배경색을 직접 지정하려면 클래스를 파생시키고 클래스 CWindowImpl
정의에 DECLARE_WND_CLASS_EX 매크로를 포함합니다.
기존 창 클래스를 기반으로 창을 만들려면 클래스를 파생시키고 클래스 CWindowImpl
정의에 DECLARE_WND_SUPERCLASS 매크로를 포함합니다. 예시:
class ATL_NO_VTABLE CMyWindow :
OtherInheritedClasses
public CComControl<CMyWindow>
// CComControl derives from CWindowImpl
{
public:
// 1. The NULL parameter means ATL will generate a
// name for the superclass
// 2. The "EDIT" parameter means the superclass is
// based on the standard Windows Edit box
DECLARE_WND_SUPERCLASS(NULL, _T("EDIT"))
// Remainder of class declaration omitted
창 클래스에 대한 자세한 내용은 Windows SDK의 창 클래스를 참조하세요.
ATL에서 창을 사용하는 방법에 대한 자세한 내용은 ATL 창 클래스 문서를 참조하세요.
요구 사항
헤더: atlwin.h
CWndClassInfo::m_atom
등록된 창 클래스에 대한 고유 식별자를 포함합니다.
ATOM m_atom;
CWndClassInfo::m_bSystemCursor
TRUE이면 창 클래스가 등록될 때 시스템 커서 리소스가 로드됩니다.
BOOL m_bSystemCursor;
설명
그렇지 않으면 모듈에 포함된 커서 리소스가 로드됩니다.
DECLARE_WND_CLASS (CWindowImpl의 기본값) 또는 DECLARE_WND_CLASS_EX 매크로가 지정 된 CWndClassInfo
경우에만 m_bSystemCursor
를 사용합니다. 이 경우 m_bSystemCursor
TRUE로 초기화됩니다. 자세한 내용은 CWndClassInfo 개요를 참조하세요.
CWndClassInfo::m_lpszCursorID
낮은 순서 단어의 커서 리소스 이름 또는 리소스 식별자를 지정하고 상위 단어에는 0을 지정합니다.
LPCTSTR m_lpszCursorID;
설명
창 클래스가 등록되면 식별된 m_lpszCursorID
커서에 대한 핸들이 검색되고 m_wc 의해 저장됩니다.
DECLARE_WND_CLASS (CWindowImpl의 기본값) 또는 DECLARE_WND_CLASS_EX 매크로가 지정 된 CWndClassInfo
경우에만 m_lpszCursorID
를 사용합니다. 이 경우 m_lpszCursorID
IDC_ARROW 초기화됩니다. 자세한 내용은 CWndClassInfo 개요를 참조하세요.
CWndClassInfo::m_lpszOrigName
기존 창 클래스의 이름을 포함합니다.
LPCTSTR m_lpszOrigName;
설명
CWndClassInfo
는 클래스 정의에 DECLARE_WND_SUPERCLASS 매크로를 포함하는 경우에만 사용합니다m_lpszOrigName
. 이 경우 CWndClassInfo
이름이 지정된 클래스에 따라 창 클래스 m_lpszOrigName
를 등록합니다. 자세한 내용은 CWndClassInfo 개요를 참조하세요.
CWndClassInfo::m_szAutoName
창 클래스의 이름을 보유합니다.
TCHAR m_szAutoName[13];
설명
DECLARE_WND_CLASS, DECLARE_WND_CLASS_EX 또는 DECLARE_WND_SUPERCLASS에 대해 NULL이 WndClassName
매개 변수에 전달 되는 CWndClassInfo
경우에만 m_szAutoName
를 사용합니다. ATL은 창 클래스가 등록될 때 이름을 생성합니다.
CWndClassInfo::m_wc
WNDCLASSEX 구조체에서 창 클래스 정보를 유지 관리합니다.
WNDCLASSEX m_wc;
설명
DECLARE_WND_CLASS(CWindowImpl의 기본값) 또는 DECLARE_WND_CLASS_EX 매크로 m_wc
를 지정한 경우 새 창 클래스에 대한 정보가 포함됩니다.
DECLARE_WND_SUPERCLASS 매크로 m_wc
를 지정한 경우 기존 클래스를 기반으로 하지만 다른 창 프로시저를 사용하는 창 클래스인 superclass에 대한 정보가 포함됩니다. m_lpszOrigName 및 pWndProc는 각각 기존 창 클래스의 이름과 창 프로시저를 저장합니다.
CWndClassInfo::p WndProc
기존 창 클래스의 창 프로시저를 가리킵니다.
WNDPROC pWndProc;
설명
CWndClassInfo
는 클래스 정의에 DECLARE_WND_SUPERCLASS 매크로를 포함하는 경우에만 사용합니다pWndProc
. 이 경우 CWndClassInfo
기존 클래스를 기반으로 하지만 다른 창 프로시저를 사용하는 창 클래스를 등록합니다. 기존 창 클래스의 창 프로시저가 저장됩니다 pWndProc
. 자세한 내용은 CWndClassInfo 개요를 참조하세요.
CWndClassInfo::Register
CWindowImpl::Create에서 호출하여 아직 등록되지 않은 경우 창 클래스를 등록합니다.
ATOM Register(WNDPROC* pProc);
매개 변수
pProc
[out] 기존 창 클래스의 원래 창 프로시저를 지정합니다.
Return Value
성공하면 등록되는 창 클래스를 고유하게 식별하는 원자입니다. 그렇지 않은 경우, 0.
설명
DECLARE_WND_CLASS(CWindowImpl의 기본값) 또는 DECLARE_WND_CLASS_EX 매크로 Register
를 지정한 경우 새 창 클래스를 등록합니다. 이 경우 pProc 매개 변수는 사용되지 않습니다.
DECLARE_WND_SUPERCLASS 매크로 Register
를 지정한 경우 기존 클래스를 기반으로 하지만 다른 창 프로시저를 사용하는 창 클래스인 superclass를 등록합니다. 기존 창 클래스의 창 프로시저는 pProc에서 반환됩니다.