CWindowImpl 클래스
이 클래스를 만들거나 창 서브클래싱에 대 한 메서드를 제공 합니다.
중요 |
---|
런타임에서 Windows를 실행 하는 응용 프로그램에서이 클래스와 해당 멤버를 사용할 수 없습니다. |
template <
class T,
class TBase= CWindow,
class TWinTraits= CControlWinTraits
>
class ATL_NO_VTABLE CWindowImpl :
public CWindowImplBaseT< TBase, TWinTraits>
매개 변수
T
파생 클래스에서 CWindowImpl.TBase
새 클래스의 기본 클래스입니다.기본 기본 클래스인 CWindow.TWinTraits
A 특성 클래스 창 스타일을 정의 합니다.기본값은 CControlWinTraits입니다.
Members
Public 메서드
이름 |
설명 |
---|---|
창을 만듭니다. |
CWindowImplBaseT 메서드
기본 메시지 처리를 제공합니다. |
|
현재 메시지를 반환합니다. |
|
현재 창 프로시저를 반환합니다. |
|
마지막 메시지를 받은 후 호출 (일반적으로 WM_NCDESTROY). |
|
창을 서브 클래스입니다. |
|
이전에 서브클래싱된 창을 복원 합니다. |
정적 메서드
정적 인스턴스를 반환 합니다. CWndClassInfo을 창 클래스 정보를 관리 합니다. |
|
창에 보내는 메시지를 처리 합니다. |
데이터 멤버
창 클래스의 원본 창 프로시저를 가리킵니다. |
설명
CWindowImpl기존 창을 새 창 또는 하위 클래스를 만들 수 있습니다.CWindowImpl창 프로시저 사용 하 여 메시지 매핑 직접 메시지를 적절 한 처리기의.
CWindowImpl::Create관리 하는 창 클래스 정보를 기반으로 새 창을 만드는 CWndClassInfo.CWindowImpl포함 된 DECLARE_WND_CLASS 의미 하는 매크로 CWndClassInfo 새 창 클래스를 등록 합니다.기존 창 클래스는 슈퍼 클래스를 원하는 경우 클래스에서 파생 될 CWindowImpl 및 포함 된 DECLARE_WND_SUPERCLASS 매크로.이 경우 CWndClassInfo 는 기존 클래스를 기반으로 하지만 사용 하는 창 클래스를 등록할 CWindowImpl::WindowProc.예를 들면 다음과 같습니다.
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
[!참고]
때문에 CWndClassInfo 단일 창 클래스의 인스턴스를 통해 만든 각 창에 대 한 정보 관리 CWindowImpl 같은 창 클래스에 따라 달라 집니다.
CWindowImpl창 서브클래싱도 지원합니다.SubclassWindow 메서드는 기존 창에 연결 된 CWindowImpl 개체 및 창 프로시저에 변경 CWindowImpl::WindowProc.각 인스턴스의 CWindowImpl 는 다른 창을 서브 클래스 수 있습니다.
[!참고]
제공에 대 한 CWindowImpl 개체, 프로시저 호출 만들기 또는 SubclassWindow.모두 같은 개체의 메서드를 호출 해야 합니다.
이외에 CWindowImpl, ATL 제공 CContainedWindow 다른 개체에 포함 된 창을 만들 수 있습니다.
기본 클래스의 소멸자 (~CWindowImplRoot) 개체가 소멸 되기 전에 창이 제거 됩니다.
CWindowImpl파생 CWindowImplBaseT에서 파생 되는에서 CWindowImplRoot는 차례로 파생에서 TBase 및 CMessageMap.
추가 정보 |
참조 |
---|---|
컨트롤 만들기 |
|
ATL에서 창을 사용 하 여 |
|
ATL 프로젝트 마법사 |
|
Windows |
상속 계층 구조
TBase
CWindowImplRoot
CWindowImplBaseT
CWindowImpl
요구 사항
헤더: atlwin.h