Udostępnij za pośrednictwem


Klasa CWindowImpl

Ta klasa zawiera metody tworzenia lub tworzenie podklas okna.

Ważna uwagaWażne

W aplikacjach, które są wykonywane w Windows Runtime nie można użyć tej klasy i jej członków.

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

Parametry

  • T
    Pochodną klasy, CWindowImpl.

  • TBase
    Klasa podstawowa nowej klasy.Domyślna klasa podstawowa jest CWindow.

  • TWinTraits
    A cech klasy definiuje style okna.Wartością domyślną jest CControlWinTraits.

Członkowie

h4616bh2.collapse_all(pl-pl,VS.110).gifMetody publiczne

Nazwa

Opis

CWindowImpl::Create

Tworzy okno.

h4616bh2.collapse_all(pl-pl,VS.110).gifMetody CWindowImplBaseT

DefWindowProc

Zawiera domyślną przetwarzania wiadomości.

GetCurrentMessage

Zwraca bieżącą wiadomość.

GetWindowProc

Zwraca bieżącą procedurę okna.

OnFinalMessage

Wywoływana po otrzymaniu ostatniego komunikatu (zazwyczaj WM_NCDESTROY).

SubclassWindow

Podklasy okna.

UnsubclassWindow

Przywraca okno wcześniej subclassed.

h4616bh2.collapse_all(pl-pl,VS.110).gifMetody statyczne

GetWndClassInfo

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

Procedury WindowProc

Przetwarza wiadomości wysłane do okna.

h4616bh2.collapse_all(pl-pl,VS.110).gifCzłonkowie danych

m_pfnSuperWindowProc

Punkty do oryginalnej procedury okna klasy okna.

Uwagi

CWindowImplUmożliwia tworzenie nowego okna lub podklasy istniejące okno.CWindowImpljego zastosowania procedury okna wiadomości mapę do bezpośredniego wiadomości do odpowiednich programów obsługi.

CWindowImpl::CreateTworzy nowe okno, na podstawie informacji klasy okna zarządzane przez CWndClassInfo.CWindowImplzawiera DECLARE_WND_CLASS makra, co oznacza CWndClassInfo będzie zarejestrować nowe klasy okna.Jeśli chcesz superklasy istniejącej klasy okna, pochodzić od klasy CWindowImpl i DECLARE_WND_SUPERCLASS makro.W przypadku CWndClassInfo będzie zarejestrować 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 każdego okna utworzone za pośrednictwem instancji klasy pojedynczego okna CWindowImpl opiera się na tej samej klasy okna.

CWindowImplobsługuje również okno podklasy.SubclassWindow Metoda dołącza do istniejącego okna CWindowImpl obiektu i zmiany procedury okna do CWindowImpl::WindowProc.Każde wystąpienie CWindowImpl można inne okno podklasy.

[!UWAGA]

W danym CWindowImpl obiektu, albo wywołanie Tworzenie lub SubclassWindow.Obie metody dla tego samego obiektu nie powinny wywoływać.

Dodatkowo do CWindowImpl, przewiduje ATL CContainedWindow utworzyć okna zawartych w innym obiekcie.

Destruktora klasy podstawowej (~CWindowImplRoot) zapewnia, że przed niszczony jest obiekt okna jest nieobecne.

CWindowImplpochodzi z CWindowImplBaseT, co wynika z CWindowImplRoot, z kolei pochodzi od TBase i CMessageMap.

Aby uzyskać więcej informacji na temat

Zobacz

Tworzenie formantów

Samouczek ATL

System Windows w ATL

Klasy ATL okna

Kreator Projekt ATL

Tworzenie projektu ATL

Windows

Procedury systemu Windows — informacje

Hierarchii 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