CWindowImpl-Klasse

Diese Klasse stellt Methoden zum Erstellen oder das Erstellen von Unterklassen von eines Fensters.

Wichtiger HinweisWichtig

Diese Klasse und ihre Member können in Anwendungen nicht verwendet werden, die in der Windows Runtime ausführen.

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

Parameter

  • T
    Die Klasse, die von abgeleitet CWindowImpl.

  • TBase
    Die Basisklasse der neuen Klasse.Die standardmäßige Basisklasse ist CWindow.

  • TWinTraits
    Merkmalklasse Stile, die für das Fenster definiert.Der Standardwert ist CControlWinTraits.

Mitglieder

h4616bh2.collapse_all(de-de,VS.110).gifÖffentliche Methoden

Name

Description

CWindowImpl::Create

Stellt ein Fenster erstellt.

h4616bh2.collapse_all(de-de,VS.110).gifCWindowImplBaseT-Methoden

DefWindowProc

Stellt das standardmäßige Meldungsverarbeiten bereit.

GetCurrentMessage

Gibt die aktuelle Meldung zurück.

GetWindowProc

Gibt die Prozedur des aktiven Fensters zurück.

OnFinalMessage

Aufgerufen, nachdem die letzte Meldung empfangen wurde (in der Regel WM_NCDESTROY).

SubclassWindow

Ordnet ein Fenster unter.

UnsubclassWindow

Stellt ein zuvor untergeordnetes Fenster wiederher.

h4616bh2.collapse_all(de-de,VS.110).gifStatische Methoden

GetWndClassInfo

Gibt eine statische Instanz von CWndClassInfo zurück, die die Fensterklasseninformationen verwaltet.

WindowProc

Verarbeitet die Meldungen, die an das Fenster gesendet werden.

h4616bh2.collapse_all(de-de,VS.110).gifDatenmember

m_pfnSuperWindowProc

Punkte an die ursprüngliche Fensterprozedur der Fensterklasse.

Hinweise

CWindowImpl ermöglicht es Ihnen, ein neues Fenster zu erstellen oder ein vorhandenes Fenster unterzuordnen.Die Fensterprozedur von CWindowImpl verwendet eine Meldungszuordnung, um Meldungen auf die entsprechenden Handler zu verweisen.

CWindowImpl::Create stellt ein neues Fenster auf Grundlage der Fensterklasseninformationen erstellt, die in CWndClassInfo verwaltet werden.CWindowImpl enthält das DECLARE_WND_CLASS-Makro, das bedeutet, dass CWndClassInfo eine neue Windows-Klasse registriert.Wenn Sie der übergeordneten Klasse eine vorhandene Fensterklasse soll, leiten Sie die Klasse von CWindowImpl und schließen Sie das DECLARE_WND_SUPERCLASS-Makro ein.In diesem Fall registriert CWndClassInfo eine Fensterklasse, die basierend auf einer vorhandenen Klasse verwendet jedoch CWindowImpl::WindowProc ist.Beispiel:

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
HinweisHinweis

Da CWndClassInfo die Informationen für eine einzelne Fensterklasse verwaltet, ist jedes Fenster, das durch eine Instanz von CWindowImpl erstellt wird, auf der gleichen Fensterklasse.

CWindowImpl unterstützt auch Fenstererstellen von unterklassen.Die SubclassWindow-Methode fügt ein vorhandenes Fenster zum CWindowImpl-Objekt an und ändert die Fensterprozedur zu CWindowImpl::WindowProc.Jede Instanz von CWindowImpl kann ein anderes Fenster unterordnen.

HinweisHinweis

Für jedes angegebene Objekt CWindowImpl rufen Sie entweder Create oder SubclassWindow auf.Sie sollten beide Methoden auf demselben Objekt nicht aufrufen.

Zusätzlich zu CWindowImpl stellt ATL CContainedWindow, um ein Fenster erstellen, das innerhalb eines anderen Objekts enthalten ist.

Der Basisklassendestruktor (~CWindowImplRoot) wird sichergestellt, dass das Fenster gegangen ist, bevor das Objekt zerstört wird.

CWindowImpl wird von abgeleitet CWindowImplBaseT, das von CWindowImplRoot abgeleitet, das wiederum von TBase und von CMessageMap abgeleitet.

Weitere Informationen finden Sie unter

Siehe

Erstellen von Steuerelementen

ATL-Lernprogramm

Verwenden der Fenster in ATL

ATL-Fensterklassen

ATL-Projekt-Assistent

Erstellen eines ATL-Projekts

Windows

Über Windows-Prozeduren

Vererbungshierarchie

CMessageMap

TBase

CWindowImplRoot

CWindowImplBaseT

CWindowImpl

Anforderungen

Header: atlwin.h

Siehe auch

Referenz

BEGIN_MSG_MAP

CComControl-Klasse

Weitere Ressourcen

ATL-Klassenübersicht