Compartir a través de


Clase de CWindowImpl

Esta clase proporciona métodos para crear o crear subclases de una ventana.

Nota importanteImportante

Esta clase y sus miembros no se pueden utilizar en las aplicaciones que se ejecutan en Windows en tiempo de ejecución.

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

Parámetros

  • T
    la clase, derivada de CWindowImpl.

  • TBase
    la clase base de la nueva clase.la clase base predeterminada es CWindow.

  • TWinTraits
    clase de los rasgos que define los estilos de la ventana.El valor predeterminado es CControlWinTraits.

Members

h4616bh2.collapse_all(es-es,VS.110).gifMétodos públicos

Name

Descripción

CWindowImpl::Create

crea una ventana.

h4616bh2.collapse_all(es-es,VS.110).gifMétodos de CWindowImplBaseT

DefWindowProc

Proporciona el procesamiento de mensajes predeterminado.

GetCurrentMessage

devuelve el mensaje actual.

GetWindowProc

Devuelve el procedimiento de ventana actual.

OnFinalMessage

Se llama después de recibir el último mensaje (normalmente WM_NCDESTROY).

SubclassWindow

Crea una subclase de una ventana.

UnsubclassWindow

Restaura una ventana previamente subclases.

h4616bh2.collapse_all(es-es,VS.110).gifMétodos estáticos

GetWndClassInfo

Devuelve una instancia estática de CWndClassInfo, que administra la información de la clase de ventana.

WindowProc

Procesa mensajes enviados a la ventana.

h4616bh2.collapse_all(es-es,VS.110).gifmiembros de datos

m_pfnSuperWindowProc

Señala al procedimiento de ventana original de la clase de la ventana.

Comentarios

CWindowImpl permite crear una nueva ventana o que cree subclases una ventana existente.el procedimiento de ventana de entity_CODECWindowImpl utiliza un mapa de mensajes para enviar mensajes a los controladores adecuados.

CWindowImpl::Create crea una nueva ventana basándose en la información de la clase de ventana administrada por CWndClassInfo.CWindowImpl contiene la macro de DECLARE_WND_CLASS , que significa que CWndClassInfo registrará una nueva clase de ventana.Si desea crear utiliza una clase de ventana existente, derive la clase de CWindowImpl e incluya la macro de DECLARE_WND_SUPERCLASS .En este caso, CWndClassInfo registrará una clase de ventana que se base en una clase existente pero aplicaciones CWindowImpl::WindowProc.Por ejemplo:

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

[!NOTA]

Dado que CWndClassInfo administra la información para una única clase de ventana, cada ventana creada con una instancia de CWindowImpl se basada en la misma clase de ventana.

CWindowImpl también permite crear subclases de la ventana.El método de SubclassWindow adjunta una ventana existente al objeto de CWindowImpl y cambia el procedimiento de ventana para CWindowImpl::WindowProc.Cada instancia de CWindowImpl puede crear subclases de una ventana diferente.

[!NOTA]

Para cualquier objeto determinado de CWindowImpl , llame a Crear o SubclassWindow.No debe invocar ambos métodos en el mismo objeto.

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

La clase base destructor (~CWindowImplRoot) garantiza que se ida la ventana antes de que se destruya el objeto.

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

Para obtener más información sobre

Vea

Crear controles

tutorial de ATL

Utilizando las ventanas en ATL

Clases de ventana ATL

Asistente para proyectos ATL

Crear un proyecto ATL

Ventanas

Sobre los procedimientos de Windows

Jerarquía de herencia

CMessageMap

TBase

CWindowImplRoot

CWindowImplBaseT

CWindowImpl

Requisitos

encabezado: atlwin.h

Vea también

Referencia

BEGIN_MSG_MAP

Clase de CComControl

Otros recursos

Información general de la clase ATL