Clase de CContainedWindowT
esta clase implementa una ventana contenida dentro de otro objeto.
![]() |
---|
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
Constructores públicos
Name |
Descripción |
---|---|
Constructor.Se inicializan los miembros de datos para especificar que el mapa de mensajes procesará los mensajes de la ventana contenida. |
Métodos públicos
Name |
Descripción |
---|---|
crea una ventana. |
|
Proporciona el procesamiento de mensajes predeterminado. |
|
devuelve el mensaje actual. |
|
Registra la clase de ventana contenida. |
|
Crea una subclase de una ventana. |
|
Cambia al mapa de mensajes se utiliza para procesar los mensajes de la ventana contenida. |
|
Restaura una ventana previamente subclases. |
|
(Estático) procesa los mensajes enviados a la ventana contenida. |
Miembros de datos públicos
Name |
Descripción |
---|---|
Identifica que el mapa de mensajes procesará los mensajes de la ventana contenida. |
|
Especifica el nombre de una clase de ventana existente en la que una nueva clase de ventana está basada en. |
|
Señala al procedimiento de ventana original de la clase de la ventana. |
|
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 |
|
Utilizando las ventanas en ATL |
|
Asistente para proyectos ATL |
|
Ventanas |
Ventanas y los temas siguientes en Windows SDK |
Jerarquía de herencia
TBase
CContainedWindowT
Requisitos
encabezado: atlwin.h