Compartir a través de


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 valores siguientes:

  • 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)