Klasa CWindowImpl
Zapewnia metody tworzenia lub rozszerzanie okna.
Waż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 |
---|---|
Tworzy okno. |
Metody CWindowImplBaseT
Zapewnia domyślne przetwarzania wiadomości. |
|
Zwraca bieżącą wiadomość. |
|
Zwraca wartość bieżącą procedurę okna. |
|
Wywoływane po odebraniu ostatniej wiadomości (zazwyczaj WM_NCDESTROY). |
|
Podklasy klasy okna. |
|
Przywraca poprzednio subclassed okna. |
Metody statyczne
Zwraca wystąpienie statycznej CWndClassInfo, który zarządza informacjami klasy okna. |
|
Przetwarza wiadomości wysyłane do okna. |
Elementy członkowskie danych
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 |
|
Korzystanie z systemu windows w ATL |
|
Kreator projektu biblioteki ATL |
Hierarchia dziedziczenia
TBase
CWindowImplRoot
CWindowImplBaseT
CWindowImpl
Wymagania
Nagłówek: atlwin.h