Vorlage Lt; -KlasseTKlasseTBase= CWindow, KlasseTWinTraits= CControlWinTraits >
Class ATL_NO_VTABLE CWindowImpl: öffentliche CWindowImplBaseT < TBase, TWinTraits >
Parameter
T
Ihre von CWindowImpl abgeleiteten Klasse.
TBase
Die Basisklasse der neuen Klasse. Die Standard-Basisklasse ist von CWindow.
TWinTrait
Eine Eigenschaften-Klasse, die Stile für das Fenster definiert. Der Standardwert ist CControlWinTraits.
CWindowImpl können Sie ein neues Fenster oder eine Unterklasse eines vorhandenen Fensters erstellen. CWindowImplFensterprozedur verwendet eine Meldungszuordnung direkte Nachrichten an die entsprechenden Handler.
CWindowImpl::Create erstellt ein neues Fenster basierend auf der Fenster-Klasseninformationen von CWndClassInfoverwaltet. CWindowImpl enthält das DECLARE_WND_CLASS Makro, was bedeutet, dass CWndClassInfo eine neuen Fensterklasse registriert werden. Wenn Sie auf übergeordnete Klasse einer vorhandenen Fensterklasse, leiten Sie eine Klasse von CWindowImpl und das DECLARE_WND_SUPERCLASS -Makro enthalten. In diesem Fall wird CWndClassInfo eine Fensterklasse registrieren, die basiert auf einer vorhandenen Klasse aber CWindowImpl::WindowProcverwendet. Zum Beispiel
klasse CMyWindow: CComControllt;CMyWindow >,...
/ / CComControl von CWindowImpl abgeleitet
{
Öffentliche:
// 1. Der NULL-Parameter bedeutet ATL generiert eine
/ / für die übergeordnete Klasse Name
// 2. Der Parameter "Bearbeiten" bedeutet, dass die übergeordnete Klasse ist
/ basierend auf die standard-Windows-Edit Box
DECLARE_WND_SUPERCLASS (NULL, "BEARBEITEN")
...
};
Hinweis&Nbsp; Da CWndClassInfo die Informationen für ein einzelnes Fenster-Klasse verwaltet, wird jedes Fenster durch eine Instanz von CWindowImpl erstellt auf dieselbe Fensterklasse beruhen.
CWindowImpl unterstützt auch das Erstellen von Unterklassen Fenster. Die SubclassWindow -Methode fügt ein vorhandenes Fenster an das CWindowImpl Objekt und ändert die Fensterprozedur zu CWindowImpl::WindowProc. Jede Instanz von CWindowImpl können eine Unterklasse ein anderes Fenster.
Hinweis&Nbsp; Rufen Sie für CWindowImpl Objekts entweder Erstellen oder SubclassWindow. Sie sollten nicht beide Methoden für das Objekt aufrufen.
ATL bietet neben CWindowImpl, CContainedWindow zum Erstellen eines Fensters in ein anderes Objekt enthalten.
Der Destruktor der Basisklasse (~CWindowImplRoot) sorgt dafür, dass das Fenster verschwunden ist, bevor das Objekt zerstört wird.
CWindowImpl abgeleitet CWindowImplBaseT, abgeleitet von CWindowImplRoot, die wiederum von TBase und CMessageMap abgeleitet ist.
| Weitere Informationen | Siehe |
| Erstellen von Steuerelementen | ATL-Lernprogramm |
| Mithilfe von Windows in ATL | ATL-Fensterklassen |
| Assistent für ATL-Objekte | Erstellen eines ATL-Projekts |
| Windows | Nachfolgende Themen im Platform SDK und Windows |
| Bilden von Unterklassen | Window-Prozedur Erstellen von Unterklassen in der Plattform SDK |
| Erstellen von übergeordneten Klassen | Window-Prozedur Erstellen von übergeordneten Klassen in der Plattform SDK |
# include lt;atlwin.h>
Siehe auch