Klasa CWindowImpl
Ta klasa zawiera metody tworzenia lub tworzenie podklas okna.
Waż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
Metody publiczne
Nazwa |
Opis |
---|---|
Tworzy okno. |
Metody CWindowImplBaseT
Zawiera domyślną przetwarzania wiadomości. |
|
Zwraca bieżącą wiadomość. |
|
Zwraca bieżącą procedurę okna. |
|
Wywoływana po otrzymaniu ostatniego komunikatu (zazwyczaj WM_NCDESTROY). |
|
Podklasy okna. |
|
Przywraca okno wcześniej subclassed. |
Metody statyczne
Zwraca wystąpienie statyczne CWndClassInfo, który zarządza informacjami klasy okna. |
|
Przetwarza wiadomości wysłane do okna. |
Członkowie danych
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 |
|
System Windows w ATL |
|
Kreator Projekt ATL |
|
Windows |
Hierarchii dziedziczenia
TBase
CWindowImplRoot
CWindowImplBaseT
CWindowImpl
Wymagania
Nagłówek: atlwin.h