CWindowImpl

plantilla lt; classTclaseTBase= CWindow, claseTWinTraits= CControlWinTraits >
clase ATL_NO_VTABLE CWindowImpl: CWindowImplBaseT público <
TBase, TWinTraits >

Parámetros

T

La clase derivada de CWindowImpl.

TBase

La clase base de la nueva clase. La clase base predeterminada es CWindow.

TWinTrait

Una clase de rasgos que define estilos de su ventana. El valor predeterminado es CControlWinTraits.

CWindowImpl permite crear una nueva ventana o una subclase una ventana existente. Procedimiento de ventana de CWindowImplutiliza un mapa de mensajes para dirigir mensajes a los controladores apropiados.

CWindowImpl::Create crea una nueva ventana basándose en la información de clase de ventana administrada por CWndClassInfo. CWindowImpl contiene la macro DECLARE_WND_CLASS , que significa que cwndclassinfo registrará una nueva clase de ventana. Si desea a la superclase de una clase de ventana existente, derivar la clase de CWindowImpl e incluyen la macro DECLARE_WND_SUPERCLASS . En este caso, CWndClassInfo registrará una clase de ventana que se basa en una clase existente pero utiliza CWindowImpl::WindowProc. Por ejemplo

clase CMyWindow: CComControllt;CMyWindow >,...
                / / CComControl deriva de CWindowImpl
{
público:
   // 1. El parámetro NULL significa ATL generará un
   / / nombre de la superclase
   // 2. El parámetro de "Editar" significa la superclase
   / / basado en el cuadro de edición de Windows estándar
   DECLARE_WND_SUPERCLASS (NULL, "EDITAR")
   ...
};

&Notanbsp;  Porque CWndClassInfo administra la información de una clase de ventana única, cada ventana creada a través de una instancia de CWindowImpl se basará en la misma clase de ventana.

CWindowImpl también admite la creación de subclases de ventana. El método SubclassWindow atribuye una ventana existente al objeto CWindowImpl y cambia el procedimiento de ventana a CWindowImpl::WindowProc. Cada instancia de CWindowImpl puede subclase una ventana diferente.

&Notanbsp;  Para cualquier objeto dado de CWindowImpl , llame al crear o SubclassWindow. No debería invocar ambos métodos en el objeto mismo.

Además de CWindowImpl, ATL proporciona CContainedWindow para crear una ventana dentro de otro objeto.

El destructor de la clase base (~CWindowImplRoot) asegura que la ventana se ha ido antes de que se destruye el objeto.

CWindowImpl deriva de CWindowImplBaseT, que se deriva de CWindowImplRoot, que a su vez deriva de TBase y CMessageMap.

Para obtener más información acerca de Ver
Creación de controles Tutorial ATL
Uso de windows en ATL Clases de ventana ATL
Asistente para objetos ATL Crear un proyecto ATL
Windows Windows y temas posteriores en el SDK de la plataforma
Creación de subclases Crear subclases de procedimiento de ventana en el SDK de la plataforma
Crear superclases Crear superclases de procedimiento de ventana en el SDK de la plataforma

# include lt;atlwin.h>

Miembros de clase

Véase también

BEGIN_MSG_MAP, CComControl

Index