다음을 통해 공유


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에서 반환됩니다.

참고 항목

CComControl 클래스
클래스 개요