Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Esta clase proporciona los métodos necesarios para implementar un control compuesto.
Importante |
|---|
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 CComCompositeControl :
public CComControl< T, CAxDialogImpl< T > >
Parámetros
- T
La clase, derivadas de CComObjectRoot o de CComObjectRootEx, además de cualquier otra interfaz desea admitir para el control compuesto.
Members
Constructores públicos
Name |
Descripción |
|---|---|
el constructor. |
|
El destructor. |
Métodos públicos
Name |
Descripción |
|---|---|
Llame a este método para advertir o el unadvise todos los controles de hospedados por el control compuesto. |
|
Llame a este método para calcular el tamaño en unidades de HIMETRIC de recursos de cuadro de diálogo utilizado para hospedar el control compuesto. |
|
Se llama a este método para crear la ventana de control para el control compuesto. |
|
Llame a este método para crear la ventana de control y notificárselo cualquier control hospedado. |
|
Llame a este método para establecer el color de fondo del control compuesto utilizando el color de fondo del contenedor. |
Miembros de datos públicos
Name |
Descripción |
|---|---|
Pincel del fondo. |
|
Identificador de la ventana que tiene el foco. |
Comentarios
Las clases derivadas de la clase CComCompositeControl hereda la funcionalidad de un control compuesto de ActiveX.Los controles ActiveX derivados de CComCompositeControl se hospedan en un cuadro de diálogo estándar.Se llama a estos tipos de controles controles compuestos porque pueden hospedar otros controles (controles nativos de Windows y controles ActiveX).
CComCompositeControl identifica el recurso de cuadro de diálogo para utilizarlo para crear el control compuesto buscando un miembro de datos de la clase secundaria.Establece el miembro IDD de esta clase secundaria al Id. de recurso de recursos de cuadro de diálogo que se utilizará como ventana de control.A continuación se muestra un ejemplo del miembro de datos que la clase derivada de CComCompositeControl debe contener para identificar el recurso de cuadro de diálogo que se utilizará para la ventana de control:
enum { IDD = IDD_MYCOMPOSITE };
[!NOTA]
Los controles compuestos siempre son controles con, aunque pueden contener controles sin ventana.
Un control implementado por CComCompositeControl- la clase derivada tiene comportamiento de tabulación predeterminado integrado.Cuando el control recibe el foco por ser con fichas en una aplicación que contiene, sucesivamente presionar la tecla TAB provocará el foco que se completará un ciclo a través de los controles contenidos de todo el control compuesto, después del control compuesto y al elemento siguiente en el orden de la pestaña del contenedor.El orden de la pestaña de los controles de hospedados es determinado por el recurso de cuadro de diálogo y determina el orden en que el desplazamiento aparecerá.
[!NOTA]
Para que los aceleradores funcionan correctamente con CComCompositeControl, es necesario cargar una tabla de aceleradores como se crea el control, pasa el identificador y el número de aceleradores de nuevo IOleControlImpl::GetControlInfoy, finalmente destruye la tabla cuando se suelta el control.
Ejemplo
// Example for overriding IOleControlImpl::GetControlInfo()
// This example uses the accelerator table from the project resources
// with the identifier IDR_ACCELTABLE
// Define GetControlInfo() in the header of your composite
// control class as follows:
STDMETHOD(GetControlInfo)(CONTROLINFO* pCI)
{
// Load the accelerator table from the resource
pCI->hAccel = LoadAccelerators(_AtlBaseModule.GetResourceInstance(),
MAKEINTRESOURCE(IDR_ACCELTABLE));
if (pCI->hAccel == NULL)
return E_FAIL;
// Get the number of accelerators in the table
pCI->cAccel = (USHORT)CopyAcceleratorTable(pCI->hAccel, NULL, 0);
// The following is optional if you want your control
// to process the return and/or escape keys
// pCI.dwFlags = CTRLINFO_EATS_RETURN | CTRLINFO_EATS_ESCAPE;
pCI->dwFlags = 0;
return S_OK;
}
Jerarquía de herencia
WinBase
CComCompositeControl
Requisitos
encabezado: atlctl.h
Vea también
Referencia
Conceptos
Fundamentales compuestos de Control
Importante