szablon lt, klasaTKlasaTBase= CWindow, klasaTWinTraits= CControlWinTraits >
Klasa ATL_NO_VTABLE CWindowImpl: CWindowImplBaseT publicznych < TBase, TWinTraits
Parametry
T
Klasa, pochodzące z CWindowImpl.
TBase
Klasa podstawowa nową klasę. Domyślna klasa podstawowa jest CWindow.
TWinTrait
Klasa cech, która określa style dla okna. Wartością domyślną jest CControlWinTraits.
CWindowImpl pozwala utworzyć nowe okno lub podklasy istniejących okna. CWindowImplokno procedura wykorzystuje mapy wiadomości do kierowania wiadomości do odpowiedniej obsługi.
CWindowImpl::Create tworzy nowe okno w oparciu o informacje klasy okno zarządzane przez CWndClassInfo. CWindowImpl zawiera makra DECLARE_WND_CLASS , co oznacza, że CWndClassInfo będzie zarejestrować nowe klasy okna. Jeśli chcesz aby superklasy istniejącej klasy okno, pochodną klasy CWindowImpl i dołączyć makro DECLARE_WND_SUPERCLASS . W tym przypadku CWndClassInfo zarejestruje klasy okna, który opiera się na istniejącej klasy, ale korzysta z CWindowImpl::WindowProc. Na przykład
klasa CMyWindow: CComControllt;CMyWindow >,...
/ / CComControl pochodzi z CWindowImpl
{
publiczne:
// 1. Parametr NULL oznacza, ATL spowoduje wygenerowanie
/ / Nazwa superklasy
// 2. Parametr "EDIT" oznacza, że jest superklasy
/ / w oparciu o standardowe pole edycji systemu Windows
DECLARE_WND_SUPERCLASS (WARTOŚĆ NULL, "EDYTUJ")
...
};
Uwaga Ponieważ CWndClassInfo zarządza informacjami dla klasy pojedynczym oknie, każde okno utworzone za pośrednictwem instancji CWindowImpl będzie opierać się na tej samej klasy okno.
CWindowImpl obsługuje również okno podklasy. Metoda SubclassWindow dołącza istniejący okno do obiektu CWindowImpl i zmiany procedury okno CWindowImpl::WindowProc. Każde wystąpienie CWindowImpl można podklasy innego okna.
Uwaganbsp; Dla każdego danego obiektu CWindowImpl wywołanie funkcji Utwórz lub SubclassWindow. &Nie należy wywoływać obie metody dla tego samego obiektu.
Oprócz CWindowImplATL oferuje CContainedWindow mo+-na utworzy¦ç okna zawartych w innym obiekcie.
Destruktor klasy bazowej (~CWindowImplRoot) zapewnia, aby oknie is gone przed niszczony jest obiekt.
CWindowImpl pochodzi od CWindowImplBaseT, która wywodzi się z CWindowImplRoot, która z kolei wywodzi się z TBase i CMessageMap.
| Aby uzyskać więcej informacji o | Patrz: |
| Tworzenie formantów | ATL samouczek |
| Przy użyciu okna w ATL | ATL okno klasy |
| Kreator obiektu ATL | Tworzenie projektu ATL |
| Windows | System Windows i kolejnych tematów w zestawie SDK platformy |
| Instacji | Okno procedury podklasy Platform SDK |
| Superclassing | Okno procedury Superclassing Platform SDK |
# include lt;atlwin.h>
Zobacz też