Klasa CWindowImpl

Zapewnia metody tworzenia lub rozszerzanie okna.

Ważna uwagaWażne

Nie można używać tej klasy i jej członków w aplikacjach, w których wykonywanie w Środowisko wykonawcze systemu Windows.

template < 
class T, 
class TBase= CWindow, 
class TWinTraits= CControlWinTraits  
> 
class ATL_NO_VTABLE CWindowImpl : 
public CWindowImplBaseT< TBase, TWinTraits>

Parametry

  • T
    Pochodną nowej klasy, CWindowImpl.

  • TBase
    Klasa podstawowa klasy.Domyślnie jest klasa podstawowa CWindow.

  • TWinTraits
    A cech klasy definiuje Style okna.Wartość domyślna to CControlWinTraits.

Elementy członkowskie

Metody publiczne

Nazwa

Opis

CWindowImpl::Create

Tworzy okno.

Metody CWindowImplBaseT

DefWindowProc

Zapewnia domyślne przetwarzania wiadomości.

GetCurrentMessage

Zwraca bieżącą wiadomość.

GetWindowProc

Zwraca wartość bieżącą procedurę okna.

OnFinalMessage

Wywoływane po odebraniu ostatniej wiadomości (zazwyczaj WM_NCDESTROY).

SubclassWindow

Podklasy klasy okna.

UnsubclassWindow

Przywraca poprzednio subclassed okna.

Metody statyczne

GetWndClassInfo

Zwraca wystąpienie statycznej CWndClassInfo, który zarządza informacjami klasy okna.

Procedury WindowProc

Przetwarza wiadomości wysyłane do okna.

Elementy członkowskie danych

m_pfnSuperWindowProc

Punkty do oryginalnej procedury okna klasy okna.

Uwagi

Można użyć CWindowImpl w celu utworzenia okna lub podklasy istniejącego okna. CWindowImpl okna procedura wykorzystuje mapy wiadomość do kierowania wiadomości do odpowiednich programów obsługi.

CWindowImpl::CreateTworzy okno, na podstawie informacji klasy okna, zarządzanym przez CWndClassInfo.CWindowImplzawiera DECLARE_WND_CLASS makro, co oznacza CWndClassInfo rejestruje nowe klasy okna.Jeśli chcesz superklasy istniejącej klasy okna, czerpać klasy z CWindowImpl i obejmuje DECLARE_WND_SUPERCLASS makro.W tym przypadku CWndClassInfo rejestruje klasy okna, który opiera się na istniejącej klasy, ale używa CWindowImpl::WindowProc.Na przykład:

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

[!UWAGA]

Ponieważ CWndClassInfo zarządza informacjami dla tylko jednej klasy okna, każde okno utworzone za pośrednictwem instancji CWindowImpl opiera się na tej samej klasy okna.

CWindowImplobsługuje również okno podklasy.SubclassWindow Metoda dołącza do istniejącego okna CWindowImpl object i zmienia procedurę okna do CWindowImpl::WindowProc.Każde wystąpienie CWindowImpl można podklasy innego okna.

[!UWAGA]

Dla każdej CWindowImpl obiektu, albo zadzwoń Create lub SubclassWindow.Nie wywoływać metody, zarówno dla tego samego obiektu.

W uzupełnieniu do CWindowImpl, zawiera ATL CContainedWindow w celu utworzenia okna, zawarte w innym obiekcie.

Destruktor klasy podstawowej (~CWindowImplRoot) powoduje, że okna jest usunięty przed zniszczeniem obiektu.

CWindowImplpochodzi z CWindowImplBaseT, co wynika ze CWindowImplRoot, co wynika ze TBase i CMessageMap.

Aby uzyskać więcej informacji na temat

Zobacz

Tworzenia formantów

Samouczek ATL

Korzystanie z systemu windows w ATL

Klasy ATL okien

Kreator projektu biblioteki ATL

Tworzenie projektu biblioteki ATL

Hierarchia dziedziczenia

CMessageMap

TBase

CWindowImplRoot

CWindowImplBaseT

CWindowImpl

Wymagania

Nagłówek: atlwin.h

Zobacz też

Informacje

BEGIN_MSG_MAP

Klasa CComControl

Inne zasoby

Omówienie klasy ATL