Compartir a través de


Clase de CContainedWindowT

esta clase implementa una ventana contenida dentro de otro objeto.

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 TBase= CWindow,
class TWinTraits= CControlWinTraits 
>
class CContainedWindowT :
public TBase

Parámetros

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

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

[!NOTA]

CContainedWindow es una especialización de CContainedWindowT.Si desea cambiar la clase base o los rasgos, utilice CContainedWindowT directamente.

Members

9e286yks.collapse_all(es-es,VS.110).gifConstructores públicos

Name

Descripción

CContainedWindowT::CContainedWindowT

Constructor.Se inicializan los miembros de datos para especificar que el mapa de mensajes procesará los mensajes de la ventana contenida.

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

Name

Descripción

CContainedWindowT::Create

crea una ventana.

CContainedWindowT::DefWindowProc

Proporciona el procesamiento de mensajes predeterminado.

CContainedWindowT::GetCurrentMessage

devuelve el mensaje actual.

CContainedWindowT::RegisterWndSuperclass

Registra la clase de ventana contenida.

CContainedWindowT::SubclassWindow

Crea una subclase de una ventana.

CContainedWindowT::SwitchMessageMap

Cambia al mapa de mensajes se utiliza para procesar los mensajes de la ventana contenida.

CContainedWindowT::UnsubclassWindow

Restaura una ventana previamente subclases.

CContainedWindowT::WindowProc

(Estático) procesa los mensajes enviados a la ventana contenida.

9e286yks.collapse_all(es-es,VS.110).gifMiembros de datos públicos

Name

Descripción

CContainedWindowT::m_dwMsgMapID

Identifica que el mapa de mensajes procesará los mensajes de la ventana contenida.

CContainedWindowT::m_lpszClassName

Especifica el nombre de una clase de ventana existente en la que una nueva clase de ventana está basada en.

CContainedWindowT::m_pfnSuperWindowProc

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

CContainedWindowT::m_pObject

Señala al objeto que contiene.

Comentarios

CContainedWindowT implementa una ventana contenida dentro de otro objeto.el procedimiento de ventana de los entity_CContainedWindowT utiliza un mapa de mensajes en el objeto que contiene los mensajes directos controladores adecuados.Al crear un objeto de CContainedWindowT , especifica que el mapa de mensajes se debe utilizar.

CContainedWindowT permite crear una nueva ventana creando utiliza una clase de ventana existente.el método de Crear primero registra una clase de ventana que se base en una clase existente pero utiliza CContainedWindowT::WindowProc.Crear crea una ventana basada en esta nueva clase de ventana.Cada instancia de CContainedWindowT puede crear superclase otra clase de ventana.

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

[!NOTA]

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

Al utilizar la opción Agregue el control basado en en el asistente para proyectos ATL, el asistente automáticamente agregará un miembro de datos de CContainedWindowT a la clase que implementa el control.El ejemplo siguiente se muestra cómo se declara la ventana contenida:

public:
   // Declare a contained window data member
   CContainedWindow m_ctlEdit;

   // Initialize the contained window:
   // 1. Pass "Edit" to specify that the contained 
   //    window should be based on the standard 
   //    Windows Edit box
   // 2. Pass 'this' pointer to specify that CAtlEdit 
   //    contains the message map to be used for the 
   //    contained window's message processing
   // 3. Pass the identifier of the message map. '1'
   //    identifies the alternate message map declared
   //    with ALT_MSG_MAP(1)
   CAtlEdit()
      : m_ctlEdit(_T("Edit"), this, 1)
   {
      m_bWindowOnly = TRUE;
   }
// Declare the default message map, identified by '0'
BEGIN_MSG_MAP(CAtlEdit)
   MESSAGE_HANDLER(WM_CREATE, OnCreate)
   MESSAGE_HANDLER(WM_SETFOCUS, OnSetFocus)
   CHAIN_MSG_MAP(CComControl<CAtlEdit>)
// Declare an alternate message map, identified by '1'
ALT_MSG_MAP(1)
   MESSAGE_HANDLER(WM_CHAR, OnChar)
END_MSG_MAP()
// Define OnCreate handler
// When the containing window receives a WM_CREATE
// message, create the contained window by calling
// CContainedWindow::Create
LRESULT OnCreate(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, 
   BOOL& /*bHandled*/)
{
   RECT rc;
   GetWindowRect(&rc);
   rc.right -= rc.left;
   rc.bottom -= rc.top;
   rc.top = rc.left = 0;
   m_ctlEdit.Create(m_hWnd, rc, _T("hello"), WS_CHILD | WS_VISIBLE | 
      ES_MULTILINE | ES_AUTOVSCROLL);
   return 0;
}

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

Ventanas y los temas siguientes en Windows SDK

Jerarquía de herencia

TBase

CContainedWindowT

Requisitos

encabezado: atlwin.h

Vea también

Referencia

Clase de CWindow

Clase de CWindowImpl

Clase de CMessageMap

BEGIN_MSG_MAP

ALT_MSG_MAP

Otros recursos

Información general de la clase ATL