Clase COccManager
Administra distintos sitios de control personalizado; implementado por objetos COleControlContainer
y COleControlSite
.
Sintaxis
class COccManager : public CNoTrackObject
Miembros
Métodos públicos
Nombre | Descripción |
---|---|
COccManager::CreateContainer | Crea un objeto COleContainer . |
COccManager::CreateDlgControls | Crea controles ActiveX, hospedados por el objeto asociado COleContainer . |
COccManager::CreateSite | Crea un objeto COleClientSite . |
COccManager::GetDefBtnCode | Recupera el código del botón predeterminado. |
COccManager::IsDialogMessage | Determina el destino de un mensaje de diálogo. |
COccManager::IsLabelControl | Determina si el control especificado es un control de etiqueta. |
COccManager::IsMatchingMnemonic | Determina si el mnemotécnico actual coincide con el mnemotécnico del control especificado. |
COccManager::OnEvent | Intenta controlar el evento especificado. |
COccManager::PostCreateDialog | Libera los recursos asignados durante la creación del diálogo. |
COccManager::PreCreateDialog | Procesa una plantilla de diálogo para controles ActiveX. |
COccManager::SetDefaultButton | Alterna el estado predeterminado del control especificado. |
COccManager::SplitDialogTemplate | Separa los controles ActiveX existentes de los controles comunes en la plantilla de diálogo especificada. |
Comentarios
La clase base, CNoTrackObject
, es una clase base no documentada (ubicada en AFXTLS. H). Diseñada para que la use el marco de MFC, las clases derivadas de la clase CNoTrackObject
están exentas de la detección de fugas de memoria. No se recomienda la derivación directa desde CNoTrackObject
.
Jerarquía de herencia
CNoTrackObject
COccManager
Requisitos
Encabezado: afxocc.h
COccManager::CreateContainer
El marco de trabajo llama a este método para crear un contenedor de control.
virtual COleControlContainer* CreateContainer(CWnd* pWnd);
Parámetros
pWnd
Un puntero al objeto de ventana asociado al contenedor del sitio personalizado.
Valor devuelto
Un puntero al contenedor recién creado; en caso contrario, devuelve NULL.
Comentarios
Para más información sobre cómo crear sitios personalizados, consulte COleControlContainer::AttachControlSite.
COccManager::CreateDlgControls
Llame a esta función para crear controles ActiveX especificados por el parámetro pOccDialogInfo.
virtual BOOL CreateDlgControls(
CWnd* pWndParent,
LPCTSTR lpszResourceName,
_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
virtual BOOL CreateDlgControls(
CWnd* pWndParent,
void* lpResource,
_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
Parámetros
pWndParent
Puntero al elemento primario del objeto de diálogo.
lpszResourceName
Nombre del recurso que se está creando.
pOccDialogInfo
Puntero a la plantilla de diálogo utilizada para crear el objeto de diálogo.
lpResource
Un puntero a un recurso.
Valor devuelto
Distinto de cero si el control se ha creado correctamente; si ha habido fallos, devuelve cero.
COccManager::CreateSite
El marco de trabajo llama a este método para crear un sitio de control, hospedado por el contenedor al que apunta pCtrlCont.
virtual COleControlSite* CreateSite(COleControlContainer* pCtrlCont);
Parámetros
pCtrlCont
Puntero al contenedor de control que hospeda el nuevo sitio de control.
Valor devuelto
Puntero al sitio de control recién creado.
Comentarios
Invalide esta función para crear un sitio de control personalizado mediante la clase derivada de COleControlSite.
Cada contenedor de control puede hospedar varios sitios. Cree sitios adicionales con varias llamadas a CreateSite
.
COccManager::GetDefBtnCode
Llame a esta función para determinar si el control es un botón de comando predeterminado.
static DWORD AFX_CDECL GetDefBtnCode(CWnd* pWnd);
Parámetros
pWnd
Objeto de ventana que contiene el control de botón.
Valor devuelto
Uno de los siguientes valores:
DLGC_DEFPUSHBUTTON Control es el botón predeterminado en el cuadro de diálogo.
DLGC_UNDEFPUSHBUTTON El control no es el botón predeterminado en el diálogo.
0 El control no es un botón.
COccManager::IsDialogMessage
El marco de trabajo llama a este método para determinar si un mensaje está pensado para el cuadro de diálogo especificado y, si es así, procesa el mensaje.
virtual BOOL IsDialogMessage(
CWnd* pWndDlg,
LPMSG lpMsg);
Parámetros
pWndDlg
Puntero al diálogo de destino previsto del mensaje.
lpMsg
Puntero a una estructura MSG
que contiene el mensaje que se va a comprobar.
Valor devuelto
Distinto de cero si se procesa el mensaje; de lo contrario, devuelve cero.
Comentarios
El comportamiento predeterminado de IsDialogMessage
es comprobar si hay mensajes de teclado y convertirlos en selecciones del cuadro de diálogo correspondiente. Por ejemplo, la tecla TAB, cuando se presiona, selecciona el siguiente control o grupo de controles.
Invalide esta función y proporcione un comportamiento personalizado a los mensajes enviados al diálogo especificado.
COccManager::IsLabelControl
Llame a esta función para determinar si el control especificado es un control de etiqueta.
static BOOL AFX_CDECL IsLabelControl(CWnd* pWnd);
static BOOL AFX_CDECL IsLabelControl(COleControlSiteOrWnd* pWnd);
Parámetros
pWnd
Puntero a la ventana que contiene el control.
Valor devuelto
Distinto de cero si el control es una etiqueta; de lo contrario, devuelve cero
Comentarios
Un control de etiqueta es uno que actúa como una etiqueta para cualquier control que vaya después en la ordenación.
COccManager::IsMatchingMnemonic
Llame a esta función para determinar si el mnemotécnico actual coincide con la representada por el control.
static BOOL AFX_CDECL IsMatchingMnemonic(
CWnd* pWnd,
LPMSG lpMsg);
static BOOL AFX_CDECL IsMatchingMnemonic(
COleControlSiteOrWnd* pWnd,
LPMSG lpMsg);
Parámetros
pWnd
Puntero a la ventana que contiene el control.
lpMsg
Puntero al mensaje que contiene el mnemotécnico con el que hay que coincidir.
Valor devuelto
Distinto de cero si el mnemotécnico coincide con el control; de lo contrario, devuelve cero
Comentarios
COccManager::OnEvent
El marco de trabajo llama a este método para controlar el evento especificado.
virtual BOOL OnEvent(
CCmdTarget* pCmdTarget,
UINT idCtrl,
AFX_EVENT* pEvent,
AFX_CMDHANDLERINFO* pHandlerInfo);
Parámetros
pCmdTarget
Puntero al objeto CCmdTarget
que intenta controlar el evento
idCtrl
El Id. de recurso del control.
pEvent
El evento que se está controlando.
pHandlerInfo
Si no es NULL, OnEvent
rellena los miembros pTarget
y pmf
de la estructura AFX_CMDHANDLERINFO
en vez de enviar el comando. Normalmente, este parámetro debería ser NULL.
Valor devuelto
Distinto de cero si el evento se ha controlado; en caso contrario, devuelve cero.
Comentarios
Invalide esta función para personalizar el proceso de control de eventos predeterminado.
COccManager::PreCreateDialog
El marco de trabajo llama a este método para procesar una plantilla de diálogo para los controles ActiveX antes de crear el cuadro de diálogo como tal.
virtual const DLGTEMPLATE* PreCreateDialog(
_AFX_OCC_DIALOG_INFO* pOccDialogInfo,
const DLGTEMPLATE* pOrigTemplate);
Parámetros
pOccDialogInfo
Estructura _AFX_OCC_DIALOG_INFO
que contiene información sobre la plantilla de diálogo y los controles ActiveX hospedados por el diálogo.
pOrigTemplate
Puntero a la plantilla de diálogo que se usará para crear el cuadro de diálogo.
Valor devuelto
Puntero a una estructura de plantilla de diálogo que se usa para crear el cuadro de diálogo.
Comentarios
El comportamiento predeterminado realiza una llamada a SplitDialogTemplate
, determina si hay algún control ActiveX presente y, después, devuelve la plantilla de diálogo resultante.
Invalide esta función para personalizar el proceso de creación de un cuadro de diálogo que hospeda controles ActiveX.
COccManager::PostCreateDialog
El marco de trabajo llama a este método para liberar memoria asignada a la plantilla de diálogo.
virtual void PostCreateDialog(_AFX_OCC_DIALOG_INFO* pOccDialogInfo);
Parámetros
pOccDialogInfo
Estructura _AFX_OCC_DIALOG_INFO
que contiene información sobre la plantilla de diálogo y los controles ActiveX hospedados por el diálogo.
Comentarios
Esta memoria se asignó mediante una llamada a SplitDialogTemplate
y se usó para cualquier control ActiveX hospedado en el cuadro de diálogo.
Invalide esta función para personalizar el proceso de limpieza de los recursos utilizados por el objeto de cuadro de diálogo.
COccManager::SetDefaultButton
Llame a esta función para establecer que el control sea el botón predeterminado.
static void AFX_CDECL SetDefaultButton(
CWnd* pWnd,
BOOL bDefault);
Parámetros
pWnd
Puntero a la ventana que contiene el control.
bDefault
Distinto de cero si el control debe convertirse en el botón predeterminado; de lo contrario, cero.
Valor devuelto
Es distinto de cero si es correcto. En caso contrario, es cero.
Comentarios
Nota:
El control debe tener establecido el bit de estado OLEMISC_ACTSLIKEBUTTON. Para más información sobre las marcas OLEMISC, consulte el tema OLEMISC en Windows SDK.
COccManager::SplitDialogTemplate
El marco de trabajo llama a este método para dividir los controles ActiveX de los controles de diálogo comunes.
virtual DLGTEMPLATE* SplitDialogTemplate(
const DLGTEMPLATE* pTemplate,
DLGITEMTEMPLATE** ppOleDlgItems);
Parámetros
pTemplate
Puntero a la plantilla de diálogo que se va a examinar.
ppOleDlgItems
Lista de punteros a elementos de cuadro de diálogo que son controles ActiveX.
Valor devuelto
Puntero a una estructura de plantilla de diálogo que solo contiene controles que no son de ActiveX. Si no hay ningún control ActiveX presente, se devuelve NULL.
Comentarios
Si se encuentra algún control ActiveX, se analiza la plantilla y se crea una nueva, que solo tiene controles que no son de ActiveX. Los controles ActiveX que se han encontrado durante este proceso se agregan a ppOleDlgItems.
Si no hay ningún control ActiveX en la plantilla, se devuelve NULL .
Nota:
La memoria asignada a la nueva plantilla se libera en la función PostCreateDialog
.
Invalide esta función para personalizar este proceso.
Consulte también
Gráfico de jerarquías
COleControlSite (clase)
COleControlContainer (clase)