Compartir por


COleControlSite (clase)

Proporciona compatibilidad con interfaces de control de cliente personalizadas.

Sintaxis

class COleControlSite : public CCmdTarget

Miembros

Constructores públicos

Nombre Descripción
COleControlSite::COleControlSite Construye un objeto COleControlSite.

Métodos públicos

Nombre Descripción
COleControlSite::BindDefaultProperty Enlaza la propiedad predeterminada del control hospedado a un origen de datos.
COleControlSite::BindProperty Enlaza una propiedad del control hospedado a un origen de datos.
COleControlSite::CreateControl Crea un control ActiveX hospedado.
COleControlSite::DestroyControl Obtiene el control hospedado.
COleControlSite::DoVerb Ejecuta un verbo específico del control hospedado.
COleControlSite::EnableDSC Habilita el aprovisionamiento de datos para un sitio de control.
COleControlSite::EnableWindow Habilita el sitio de control.
COleControlSite::FreezeEvents Especifica si el sitio de control acepta eventos.
COleControlSite::GetDefBtnCode Recupera el código de botón predeterminado para el control hospedado.
COleControlSite::GetDlgCtrlID Recupera el identificador del control.
COleControlSite::GetEventIID Recupera el identificador de una interfaz de eventos para un control hospedado.
COleControlSite::GetExStyle Recupera los estilos extendidos del sitio de control.
COleControlSite::GetProperty Recupera una propiedad concreta de la clase.
COleControlSite::GetStyle Recupera los estilos del sitio de control.
COleControlSite::GetWindowText Recupera el texto del control hospedado.
COleControlSite::InvokeHelper Invoque un método específico del control hospedado.
COleControlSite::InvokeHelperV Invoque un método específico del control hospedado con una lista variable de argumentos.
COleControlSite::IsDefaultButton Determina si el control es el botón predeterminado en la ventana.
COleControlSite::IsWindowEnabled Comprueba el estado visible del sitio de control.
COleControlSite::ModifyStyle Modifica los estilos extendidos actuales del sitio de control.
COleControlSite::ModifyStyleEx Modifica los estilos actuales del sitio de control.
COleControlSite::MoveWindow Cambia la posición del sitio de control.
COleControlSite::QuickActivate Activa rápidamente el control hospedado.
COleControlSite::SafeSetProperty Establece una propiedad o método del control sin posibilidad de producir una excepción.
COleControlSite::SetDefaultButton Establece el botón predeterminado en la ventana.
COleControlSite::SetDlgCtrlID Recupera el identificador del control.
COleControlSite::SetFocus Establece el foco en el editor.
COleControlSite::SetProperty Recupera una propiedad concreta de la clase.
COleControlSite::SetPropertyV Establece una propiedad específica del control hospedado con una lista variable de argumentos.
COleControlSite::SetWindowPos Establece la posición del sitio de control.
COleControlSite::SetWindowText Establece el texto del control hospedado.
COleControlSite::ShowWindow Muestra u oculta el sitio de control.

Métodos protegidos

Nombre Descripción
COleControlSite::GetControlInfo Recupera información de teclado y mnemonics para el control hospedado.

Miembros de datos públicos

Nombre Descripción
COleControlSite::m_bIsWindowless Determina si el control hospedado es un control sin ventanas.
COleControlSite::m_ctlInfo Contiene información sobre el control de teclado para el control.
COleControlSite::m_dwEventSink Cookie del punto de conexión del control.
COleControlSite::m_dwMiscStatus Estados varios para el control hospedado.
COleControlSite::m_dwPropNotifySink Cookie IPropertyNotifySink del control.
COleControlSite::m_dwStyle Estilos del control hospedado.
COleControlSite::m_hWnd Identificador del sitio de control.
COleControlSite::m_iidEvents Identificador de la interfaz de eventos para el control hospedado.
COleControlSite::m_nID Identificador del control hospedado.
COleControlSite::m_pActiveObject Puntero al IOleInPlaceActiveObject objeto del control hospedado.
COleControlSite::m_pCtrlCont Contenedor del control hospedado.
COleControlSite::m_pInPlaceObject Puntero al IOleInPlaceObject objeto del control hospedado.
COleControlSite::m_pObject [in] Puntero en la interfaz IOleObjectInterface del elemento secundario.
COleControlSite::m_pWindowlessObject [in] Puntero en la interfaz IOleInPlaceObjectWindowless del elemento secundario.
COleControlSite::m_pWndCtrl Puntero al objeto de ventana para el control hospedado.
COleControlSite::m_rect Dimensiones del sitio de control.

Comentarios

Este soporte es el medio principal por el que un control Active X incrustado obtiene información sobre la ubicación y el alcance de su sitio de visualizaicón, su moniker, su interfaz de usuario, sus propiedades de ambiente y otros recursos proporcionados por su contenedor. COleControlSiteimplementa completamente las interfaces IOleControlSite, IOleInPlaceSite, IOleClientSite, IPropertyNotifySink, IBoundObjectSite, INotifyDBEvents,IRowSetNotify. Además, también se implementa la interfaz IDispatch (que proporciona compatibilidad con propiedades ambientales y receptores de eventos).

Para crear un sitio de control ActiveX mediante COleControlSite, derive una clase de COleControlSite. En la CWndclase derivada del contenedor (por ejemplo, el cuadro de diálogo) invalida la CWnd::CreateControlSite función.

Jerarquía de herencia

CObject

CCmdTarget

COleControlSite

Requisitos

Encabezado: afxocc.h

COleControlSite::BindDefaultProperty

Enlaza la propiedad enlaza la propiedad enlazada simple predeterminada del objeto que realiza la llamada, como se marca en la biblioteca de tipos, al cursor subyacente definido por las propiedades DataSource, UserName, Password y SQL del control de origen de datos.

virtual void BindDefaultProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    LPCTSTR szFieldName,
    CWnd* pDSCWnd);

Parámetros

dwDispID
Especifica el DISPID de una propiedad en un control enlazado a datos que se va a enlazar a un control de origen de datos.

vtProp
Especifica el tipo de la propiedad que se va a enlazar, por ejemplo, VT_BSTR, VT_VARIANT, etc.

szFieldName
Especifica el nombre de la columna, en el cursor proporcionado por el control de origen de datos, al que se enlazará la propiedad.

pDSCWnd
Puntero al CWndobjeto derivado de que hospeda el control de origen de datos al que se enlazará la propiedad.

Comentarios

El objeto CWnd en el que se llama a esta función debe ser un control enlazado a datos.

COleControlSite::BindProperty

Enlaza la propiedad enlaza la propiedad enlazada simple predeterminada del objeto que realiza la llamada, como se marca en la biblioteca de tipos, al cursor subyacente definido por las propiedades DataSource, UserName, Password y SQL del control de origen de datos.

virtual void BindProperty(
    DISPID dwDispId,
    CWnd* pWndDSC);

Parámetros

dwDispId
Especifica el DISPID de una propiedad en un control enlazado a datos que se va a enlazar a un control de origen de datos.

pWndDSC
Puntero al CWndobjeto derivado de que hospeda el control de origen de datos al que se enlazará la propiedad.

Comentarios

El objeto CWnd en el que se llama a esta función debe ser un control enlazado a datos.

COleControlSite::COleControlSite

Construye un nuevo objeto COleControlSite.

explicit COleControlSite(COleControlContainer* pCtrlCont);

Parámetros

pCtrlCont
Puntero al contenedor del control (que representa la ventana que hospeda el control AtiveX).

Comentarios

La función COccManager::CreateContainer llama a esta función. Para obtener más información sobre cómo personalizar la creación de contenedores, vea COccManager::CreateSite.

COleControlSite::CreateControl

Crea un control ActiveX hospedado por el COleControlSite objeto .

virtual HRESULT CreateControl(
    CWnd* pWndCtrl,
    REFCLSID clsid,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const RECT& rect,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

virtual HRESULT CreateControl(
    CWnd* pWndCtrl,
    REFCLSID clsid,
    LPCTSTR lpszWindowName,
    DWORD dwStyle,
    const POINT* ppt,
    const SIZE* psize,
    UINT nID,
    CFile* pPersist = NULL,
    BOOL bStorage = FALSE,
    BSTR bstrLicKey = NULL);

Parámetros

pWndCtrl
Puntero al objeto de ventana que representa el control.

clsid
El Id. de clase único del control.

lpszWindowName
Un puntero al texto que se mostrará en el control. Establece el valor de la propiedad Caption o Text de la ventana (si existe).

dwStyle
Estilos de ventanas. Los estilos disponibles aparecen en la sección Comentarios.

rect
Especifica el tamaño y la posición del control. Puede ser un objeto CRect o una estructura RECT.

Nid
Especifica el identificador de la ventana secundaria del control.

pPersist
Un puntero a un CFile que contiene el estado persistente del control. El valor predeterminado es NULL, lo que indica que el control se inicializa sin restaurar su estado desde ningún almacenamiento persistente. Si no es NULL, debe ser un puntero a un objeto derivado de CFile que contenga los datos persistentes del control en forma de una secuencia o un almacenamiento. Estos datos pueden haberse guardado en una activación anterior del cliente. El CFile puede contener otros datos, pero debe tener su puntero de lectura y escritura establecido en el primer byte de datos persistentes en el momento de la llamada a CreateControl.

bStorage
Indica si los datos de pPersist deben interpretarse como IStorage o datos IStream. Si los datos de pPersist son un almacenamiento, bStorage debe ser TRUE. Si los datos de pPersist son una secuencia, bStorage debe ser FALSE. El valor predeterminado es FALSE.

bstrLicKey
Datos de clave de licencia opcionales. Estos datos solo son necesarios para crear controles que requieran una clave de licencia en tiempo de ejecución. Si el control admite licencias, debe proporcionar una clave de licencia para que la creación del control se realice correctamente. El valor predeterminado es NULL.

ppt
Puntero a una estructura POINT que contiene la esquina superior izquierda del control. El tamaño del sector viene determinado por el valor psize. Los valores ppt y psize son un método opcional para especificar el tamaño y la posición del control.

psize
Puntero a una estructura SIZEque contiene el tamaño del control. La esquina superior izquierda viene determinada por el valor de ppt. Los valores ppt y psize son un método opcional para especificar el tamaño y la posición del control.

Valor devuelto

Valor HRESULT estándar.

Comentarios

Solo se admite un subconjunto de las marcas dwStyle de Windows CreateControl:

  • WS_VISIBLE Crea una ventana que está visible inicialmente. Obligatorio si desea que el control sea visible inmediatamente, como las ventanas normales.

  • WS_DISABLED Crea una ventana que está deshabilitada inicialmente. Una ventana deshabilitada no puede recibir la entrada del usuario. Se puede establecer si el control tiene una propiedad Habilitado.

  • WS_BORDER Crea una ventana con un borde de línea fina. Se puede establecer si el control tiene una propiedad BorderStyle.

  • WS_GROUP Especifica el primer control de un grupo de controles. El usuario puede cambiar el foco del teclado desde un control del grupo al siguiente mediante las teclas de dirección. Todos los controles definidos con el estilo WS_GROUP después del primer control pertenecen al mismo grupo. El siguiente control con el estilo WS_GROUP finaliza el grupo e inicia el siguiente grupo.

  • WS_TABSTOP Especifica un control que puede recibir el foco del teclado cuando el usuario presiona la tecla TAB. Al presionar la tecla TAB, se cambia el foco del teclado al siguiente control del estilo WS_TABSTOP.

Use la segunda sobrecarga para crear controles de tamaño predeterminado.

COleControlSite::DestroyControl

Destruye el objeto COleControlSite.

virtual BOOL DestroyControl();

Valor devuelto

Distinto de cero si se realiza correctamente; de lo contrario, es 0.

Comentarios

Una vez completado, el objeto se libera de la memoria y los punteros al objeto ya no son válidos.

COleControlSite::DoVerb

Ejecuta el verbo especificado.

virtual HRESULT DoVerb(
    LONG nVerb,
    LPMSG lpMsg = NULL);

Parámetros

nVerb
Especifica el verbo que se va a ejecutar. Puede incluir uno de los siguientes valores:

Valor Significado Símbolo
0 verbo principal OLEIVERB_PRIMARY
-1 Verbo secundario (Ninguna)
1 Muestra el objeto para su edición. OLEIVERB_SHOW
-2 Edita el elemento en una ventana independiente. OLEIVERB_OPEN
-3 Oculta el objeto . OLEIVERB_HIDE
-4 Activa un control en contexto. OLEIVERB_UIACTIVATE
-5 Activa un control en contexto, sin elementos adicionales de la interfaz de usuario. OLEIVERB_INPLACEACTIVATE
7- Modificar las propiedades del control. OLEIVERB_PROPERTIES

lpMsg
Puntero al mensaje que provocó la activación del elemento.

Valor devuelto

Valor HRESULT estándar.

Comentarios

Esta función llama directamente a través de la interfaz del IOleObject control para ejecutar el verbo especificado. Si se produce una excepción como resultado de esta llamada de función, se devuelve un código de error HRESULT.

Para obtener más información, vea IOleObject::D oVerb en Windows SDK.

COleControlSite::EnableDSC

Habilita el aprovisionamiento de datos para un sitio de control.

virtual void EnableDSC();

Comentarios

Lo llama el marco para habilitar e inicializar el origen de datos para el sitio de control. Puede invalidar esta función para proporcionar un comportamiento personalizado.

COleControlSite::EnableWindow

Habilita o deshabilita la entrada del mouse y el teclado en el sitio de control.

virtual BOOL EnableWindow(BOOL bEnable);

Parámetros

bEnable
Especifica si se va a habilitar o deshabilitar la ventana: TRUE si se va a habilitar la entrada de la ventana; de lo contrario, FALSE.

Valor devuelto

Distinto de cero si la ventana se deshabilitó anteriormente; de lo contrario, 0.

COleControlSite::FreezeEvents

Especifica si el sitio de control controlará o omitirá los eventos desencadenados desde un control.

void FreezeEvents(BOOL bFreeze);

Parámetros

bFreeze
Especifica si el sitio del control desea dejar de aceptar eventos. Distinto de cero si el control no acepta eventos; de lo contrario, es cero.

Comentarios

Si bFreeze es TRUE, el sitio de control solicita al control que detenga la activación de eventos. Si bFreeze es FALSE, el sitio de control solicita al control que continúe activando eventos.

Nota:

El control no es necesario para detener la activación de eventos si lo solicita el sitio de control. Puede continuar activando, pero el sitio de control omitirá todos los eventos posteriores.

COleControlSite::GetControlInfo

Recupera información sobre los mnemonics y el comportamiento del teclado de un control.

void GetControlInfo();

Comentarios

La información se almacena en COleControlSite::m_ctlInfo.

COleControlSite::GetDefBtnCode

Determina si el control es un botón de inserción predeterminado.

DWORD GetDefBtnCode();

Valor devuelto

Puede ser 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.

COleControlSite::GetDlgCtrlID

Recupera el identificador del control.

virtual int GetDlgCtrlID() const;

Valor devuelto

Identificador del elemento de diálogo del control.

COleControlSite::GetEventIID

Recupera un puntero a la interfaz de eventos predeterminada del control.

BOOL GetEventIID(IID* piid);

Parámetros

piid
Puntero a un identificador de interfaz.

Valor devuelto

Distinto de cero si se realiza correctamente; de lo contrario, es 0. Si se ejecuta correctamente, piid contiene el identificador de interfaz de la interfaz de evento predeterminada del control.

COleControlSite::GetExStyle

Devuelve el estilo extendido de ventana.

virtual DWORD GetExStyle() const;

Valor devuelto

Estilos extendidos de la ventana de control.

Comentarios

Para recuperar los estilos normales, llame a COleControlSite::GetStyle.

COleControlSite::GetProperty

Obtiene la propiedad de control especificada por dwDispID.

virtual void GetProperty(
    DISPID dwDispID,
    VARTYPE vtProp,
    void* pvProp) const;

Parámetros

dwDispID
Identifica el identificador de envío de la propiedad, que se encuentra en la interfaz predeterminada IDispatch del control, que se va a recuperar.

vtProp
Especifica el tipo de la propiedad que se va a recuperar. Para los valores posibles, vea la sección Comentarios para COleDispatchDriver::InvokeHelper.

pvProp
Dirección de la variable que recibirá el valor de la propiedad. Debe coincidir con el tipo especificado por vtProp.

Comentarios

El valor se devuelve a través de pvProp.

COleControlSite::GetStyle

Recupera los estilos del sitio de control.

virtual DWORD GetStyle() const;

Valor devuelto

Estilos de la ventana.

Comentarios

Para obtener una lista de valores posibles, vea Estilos de ventana. Para recuperar los estilos extendidos del sitio de control, llame a COleControlSite::GetExStyle.

COleControlSite::GetWindowText

Recupera el texto actual del control.

virtual void GetWindowText(CString& str) const;

Parámetros

str
Referencia a un CString objeto que contiene el texto actual del control.

Comentarios

Si el control admite la propiedad stock Caption, se devuelve este valor. Si no se admite la propiedad stock Caption, se devuelve el valor de la propiedad Text.

COleControlSite::InvokeHelper

Llama a la propiedad o al método de objeto especificados por dwDispID, en el contexto especificado por wFlags.

virtual void AFX_CDECL InvokeHelper(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo, ...);

Parámetros

dwDispID
Identifica el identificador de distribución de la propiedad o método, que se encuentra en la interfaz del IDispatch control, que se va a invocar.

wFlags
Marcas que describen el contexto de la llamada a IDispatch::Invoke. Para conocer los valores posibles de wFlags, consulte IDispatch::Invoke en Windows SDK.

vtRet
Especifica el tipo del valor devuelto. Para los valores posibles, vea la sección Comentarios para COleDispatchDriver::InvokeHelper.

pvRet
Dirección de la variable que recibirá el valor de la propiedad o el valor devuelto. Debe coincidir con el tipo especificado por vtRet.

pbParamInfo
Puntero a una cadena terminada en null de bytes que especifica los tipos de los parámetros que siguen a pbParamInfo. Para los valores posibles, vea la sección Comentarios para COleDispatchDriver::InvokeHelper.

...
Lista de variables de parámetros, de tipos especificados en pbParamInfo.

Comentarios

El parámetro pbParamInfo especifica los tipos de los parámetros pasados al método o a la propiedad. La lista variable de argumentos se representa mediante ... en la declaración de sintaxis.

Esta función convierte los parámetros a valores VARIANTARG, y a continuación invoca el método IDispatch::Invoke del control. Si se produce un error en la llamada a IDispatch::Invoke , esta función generará una excepción. Si el código de estado devuelto por IDispatch::Invoke es DISP_E_EXCEPTION, esta función inicia un objeto COleDispatchException; de lo contrario, inicia un COleException.

COleControlSite::InvokeHelperV

Llama a la propiedad o al método de objeto especificados por dwDispID, en el contexto especificado por wFlags.

virtual void InvokeHelperV(
    DISPID dwDispID,
    WORD wFlags,
    VARTYPE vtRet,
    void* pvRet,
    const BYTE* pbParamInfo,
    va_list argList);

Parámetros

dwDispID
Identifica el identificador de distribución de la propiedad o método, que se encuentra en la interfaz del IDispatch control, que se va a invocar.

wFlags
Marcas que describen el contexto de la llamada a IDispatch::Invoke.

vtRet
Especifica el tipo del valor devuelto. Para los valores posibles, vea la sección Comentarios para COleDispatchDriver::InvokeHelper.

pvRet
Dirección de la variable que recibirá el valor de la propiedad o el valor devuelto. Debe coincidir con el tipo especificado por vtRet.

pbParamInfo
Puntero a una cadena terminada en null de bytes que especifica los tipos de los parámetros que siguen a pbParamInfo. Para los valores posibles, vea la sección Comentarios para COleDispatchDriver::InvokeHelper.

argList
Puntero a una lista de argumentos de variable.

Comentarios

El parámetro pbParamInfo especifica los tipos de los parámetros pasados al método o a la propiedad. Se pueden pasar parámetros adicionales para el método o la propiedad que se invoca mediante el parámetro va_list.

Normalmente, se llama a esta función mediante COleControlSite::InvokeHelper.

COleControlSite::IsDefaultButton

Determina si el control es el botón predeterminado en la ventana.

BOOL IsDefaultButton();

Valor devuelto

Distinto de cero si el control es el botón predeterminado de la ventana; de lo contrario, cero.

COleControlSite::IsWindowEnabled

Determina si el control se está ejecutando.

virtual BOOL IsWindowEnabled() const;

Valor devuelto

El valor devuelto será distinto de cero si el control está habilitado; de lo contrario, será cero.

Comentarios

El valor se recupera de la propiedad stock Enabled del control.

COleControlSite::m_bIsWindowless

Determina si el objeto es un control sin ventanas.

BOOL m_bIsWindowless;

Comentarios

Distinto de cero si el control no tiene ninguna ventana; de lo contrario, cero.

COleControlSite::m_ctlInfo

Información sobre cómo el control controla la entrada del teclado.

CONTROLINFO m_ctlInfo;

Comentarios

Esta información se almacena en una estructura de tipo CONTROLINFO.

COleControlSite::m_dwEventSink

Contiene la cookie del punto de conexión del receptor de eventos del control.

DWORD m_dwEventSink;

COleControlSite::m_dwMiscStatus

Contiene información varias sobre el control.

DWORD m_dwMiscStatus;

Comentarios

Para más información, consulte OLEMISC en Windows SDK.

COleControlSite::m_dwPropNotifySink

Contiene la cookie IPropertyNotifySink.

DWORD m_dwPropNotifySink;

COleControlSite::m_dwStyle

Contiene los estilos window del control.

DWORD m_dwStyle;

COleControlSite::m_hWnd

Contiene el HWND del control o NULL si el control no tiene ventanas.

HWND m_hWnd;

COleControlSite::m_iidEvents

Contiene el identificador de interfaz de la interfaz del receptor de eventos predeterminado del control.

IID m_iidEvents;

COleControlSite::m_nID

Contiene el identificador del elemento de diálogo del control.

UINT m_nID;

COleControlSite::m_pActiveObject

Contiene la interfaz IOleInPlaceActiveObject del control.

LPOLEINPLACEACTIVEOBJECT m_pActiveObject;

COleControlSite::m_pCtrlCont

Contiene el contenedor del control (que representa el formulario).

COleControlContainer* m_pCtrlCont;

COleControlSite::m_pInPlaceObject

Contiene la IOleInPlaceObject interfaz IOleInPlaceObject del control.

LPOLEINPLACEOBJECT m_pInPlaceObject;

COleControlSite::m_pObject

Contiene la IOleObjectInterface interfaz del control.

LPOLEOBJECT m_pObject;

COleControlSite::m_pWindowlessObject

Contiene la IOleInPlaceObjectWindowlessinterfazIOleInPlaceObjectWindowless del control.

IOleInPlaceObjectWindowless* m_pWindowlessObject;

COleControlSite::m_pWndCtrl

Contiene un puntero al CWnd objeto que representa el propio control.

CWnd* m_pWndCtrl;

COleControlSite::m_rect

Contiene los límites del control, relativos a la ventana del contenedor.

CRect m_rect;

COleControlSite::ModifyStyle

Modifica los estilos del control.

virtual BOOL ModifyStyle(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags);

Parámetros

dwRemove
Estilos que se van a quitar de los estilos de ventana actuales.

dwAdd
Estilos que se van a agregar desde los estilos de ventana actuales.

nFlags
Marcas de posicionamiento de ventanas. Para obtener una lista de posibles valores, consulte SetWindowPos en Windows SDK.

Valor devuelto

Distinto de cero si se cambian los estilos; de lo contrario, cero.

Comentarios

La propiedad Stock Enabled del control se modificará para que coincida con la configuración de WS_DISABLED. La propiedad Border Style del control se modificará para que coincida con la configuración solicitada para WS_BORDER. Todos los demás estilos se aplican directamente al identificador de ventana del control, si hay uno presente.

Contiene los estilos de ventana del control. Los estilos que se van a agregar o quitar se pueden combinar mediante el operador bit a bit OR (|). Consulte la función CreateWindow en Windows SDK para obtener información sobre los estilos de ventana disponibles.

Si nFlags es distinto de cero, ModifyStyle llama a la función de la API de Windows SetWindowPos y vuelve a dibujar la ventana combinando con las cuatro marcas preestablecidas siguientes:

  • SWP_NOSIZE Conserva el tamaño actual.

  • SWP_NOMOVE Conserva la posición actual.

  • SWP_NOZORDER Conserva el orden Z actual.

  • SWP_NOACTIVATE No activa la ventana.

Para modificar los estilos extendidos de una ventana, llame a ModifyStyleEx.

COleControlSite::ModifyStyleEx

Modifica los estilos extendidos del sitio de control.

virtual BOOL ModifyStyleEx(
    DWORD dwRemove,
    DWORD dwAdd,
    UINT nFlags);

Parámetros

dwRemove
Estilos extendidos que se van a quitar de los estilos de ventana actuales.

dwAdd
Estilos extendidos que se van a quitar de los estilos de ventana actuales.

nFlags
Marcas de posicionamiento de ventanas. Para obtener una lista de posibles valores, consulte SetWindowPos en Windows SDK.

Valor devuelto

Distinto de cero si se cambian los estilos; de lo contrario, cero.

Comentarios

La propiedad Appearance del control se modificará para que coincida con el valor de WS_EX_CLIENTEDGE. Todos los demás estilos de ventana extendidos se aplican directamente al identificador de ventana del control, si hay uno presente.

Modifica los estilos extendidos de la ventana del objeto de sitio de control. Los estilos que se van a agregar o quitar se pueden combinar mediante el operador bit a bit OR (|). Consulte la función CreateWindow en Windows SDK para obtener información sobre los estilos de ventana disponibles.

Si nFlags es distinto de cero, ModifyStyleEx llama a la función de la API de Windows SetWindowPos y vuelve a dibujar la ventana combinando con las cuatro marcas preestablecidas siguientes:

  • SWP_NOSIZE Conserva el tamaño actual.

  • SWP_NOMOVE Conserva la posición actual.

  • SWP_NOZORDER Conserva el orden Z actual.

  • SWP_NOACTIVATE No activa la ventana.

Para modificar los estilos extendidos de una ventana, llame a ModifyStyleEx.

COleControlSite::MoveWindow

Cambia la posición del sitio de control.

virtual void MoveWindow(
    int x,
    int y,
    int nWidth,
    int nHeight);

Parámetros

x
Especifica la nueva posición del lado izquierdo de la ventana.

y
Nueva posición de la parte superior de la ventana.

nWidth
Nuevo ancho de la ventana

nHeight
Nuevo alto de la ventana.

COleControlSite::QuickActivate

Activa rápidamente el control contenido.

virtual BOOL QuickActivate();

Valor devuelto

Distinto de cero si se activó el sitio de control; de lo contrario, cero.

Comentarios

Solo se debe llamar a esta función si el usuario reemplaza el proceso de creación del control.

Se debe llamar a los IPersist*::Load métodos y IPersist*::InitNew después de que se produzca la activación rápida. El control debe establecer sus conexiones con los receptores del contenedor durante la activación rápida. Sin embargo, estas conexiones no están activas hasta IPersist*::Load o IPersist*::InitNew se haya llamado.

COleControlSite::SafeSetProperty

Establece la propiedad de control especificada por dwDispID.

virtual BOOL AFX_CDECL SafeSetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Parámetros

dwDispID
Identifica el identificador de distribución de la propiedad o método, que se encuentra en la interfaz del IDispatch control, que se va a establecer.

vtProp
Especifica el tipo de la propiedad que se va a establecer. Para los valores posibles, vea la sección Comentarios para COleDispatchDriver::InvokeHelper.

...
Un parámetro único del tipo especificado por vtProp.

Valor devuelto

Es distinto de cero si es correcto. En caso contrario, es cero.

Comentarios

Nota:

A diferencia SetProperty de y SetPropertyV, si se encuentra un error (por ejemplo, al intentar establecer una propiedad inexistente), no se produce ninguna excepción.

COleControlSite::SetDefaultButton

Establece el control como el botón predeterminado.

void SetDefaultButton(BOOL bDefault);

Parámetros

bDefault
Distinto de cero si el control debe convertirse en el botón predeterminado; de lo contrario, cero.

Comentarios

Nota:

El control debe tener establecido el bit de estado OLEMISC_ACTSLIKEBUTTON.

COleControlSite::SetDlgCtrlID

Cambia el valor del identificador del elemento de diálogo del control.

virtual int SetDlgCtrlID(int nID);

Parámetros

Nid
El nuevo identificador de valor.

Valor devuelto

Si se ejecuta correctamente, el identificador del elemento de diálogo anterior de la ventana; de lo contrario, 0.

Comentarios

COleControlSite::SetFocus

Establece el foco en el control.

virtual CWnd* SetFocus();
virtual CWnd* SetFocus(LPMSG lpmsg);

Parámetros

lpmsg
Puntero a una estructura MSG. Esta estructura contiene el mensaje de Windows que desencadena la SetFocus solicitud del control contenido en el sitio de control actual.

Valor devuelto

Puntero a la ventana que anteriormente tenía el foco.

COleControlSite::SetProperty

Establece la propiedad de control especificada por dwDispID.

virtual void AFX_CDECL SetProperty(
    DISPID dwDispID,
    VARTYPE vtProp, ...);

Parámetros

dwDispID
Identifica el identificador de distribución de la propiedad o método, que se encuentra en la interfaz del IDispatch control, que se va a establecer.

vtProp
Especifica el tipo de la propiedad que se va a establecer. Para los valores posibles, vea la sección Comentarios para COleDispatchDriver::InvokeHelper.

...
Un parámetro único del tipo especificado por vtProp.

Comentarios

Si SetProperty encuentra un error, se produce una excepción.

El tipo de excepción viene determinado por el valor devuelto del intento de establecer la propiedad o el método. Si el valor devuelto es DISP_E_EXCEPTION, se produce una COleDispatchExcpetion excepción ; de lo contrario, es COleException.

COleControlSite::SetPropertyV

Establece la propiedad de control especificada por dwDispID.

virtual void SetPropertyV(
    DISPID dwDispID,
    VARTYPE vtProp,
    va_list argList);

Parámetros

dwDispID
Identifica el identificador de distribución de la propiedad o método, que se encuentra en la interfaz del IDispatch control, que se va a establecer.

vtProp
Especifica el tipo de la propiedad que se va a establecer. Para los valores posibles, vea la sección Comentarios para COleDispatchDriver::InvokeHelper.

argList
Puntero a la lista de argumentos.

Comentarios

Se pueden pasar parámetros adicionales para el método o la propiedad que se invoca mediante el parámetro arg_list . Si SetProperty encuentra un error, se produce una excepción.

El tipo de excepción viene determinado por el valor devuelto del intento de establecer la propiedad o el método. Si el valor devuelto es DISP_E_EXCEPTION, se produce una COleDispatchExcpetion excepción ; de lo contrario, es COleException.

COleControlSite::SetWindowPos

Establece el tamaño, la posición y el orden Z del sitio de control.

virtual BOOL SetWindowPos(
    const CWnd* pWndInsertAfter,
    int x,
    int y,
    int cx,
    int cy,
    UINT nFlags);

Parámetros

pWndInsertAfter
Puntero a la ventana.

x
Especifica la nueva posición del lado izquierdo de la ventana.

y
Nueva posición de la parte superior de la ventana.

cx
Nuevo ancho de la ventana

Cy
Nuevo alto de la ventana.

nFlags
Especifica las marcas de ajuste de tamaño y posicionamiento de la ventana. Para obtener los valores posibles, consulte la sección Comentarios de SetWindowPos en Windows SDK.

Valor devuelto

Es distinto de cero si es correcto. En caso contrario, es cero.

COleControlSite::SetWindowText

Establece el texto del control.

virtual void SetWindowText(LPCTSTR lpszString);

Parámetros

lpszString
Puntero a una cadena terminada en null que se usará como nuevo título o texto de control.

Comentarios

Esta función intenta establecer primero la propiedad stock Caption. Si no se admite la propiedad stock Caption, la propiedad Text se establece en su lugar.

COleControlSite::ShowWindow

Establece el estado de presentación de la ventana.

virtual BOOL ShowWindow(int nCmdShow);

Parámetros

nCmdShow
Especifica cómo se va a mostrar el sitio de control. Debe tener uno de los siguientes valores:

  • SW_HIDE oculta esta ventana y pasa la activación a otra ventana.

  • SW_MINIMIZE Minimiza la ventana y activa la ventana de nivel superior en la lista del sistema.

  • SW_RESTORE Activa y muestra la ventana. Si la ventana está minimizada o maximizada, Windows la restaura a su tamaño y posición originales.

  • SW_SHOW Activa la ventana y la muestra en su tamaño y posición actuales.

  • SW_SHOWMAXIMIZED Activa la ventana y la muestra como una ventana maximizada.

  • SW_SHOWMINIMIZED Activa la ventana y la muestra como un icono.

  • SW_SHOWMINNOACTIVE Muestra la ventana como un icono. La ventana que está activa actualmente permanece activa.

  • SW_SHOWNA Muestra la ventana en su estado actual. La ventana que está activa actualmente permanece activa.

  • SW_SHOWNOACTIVATE Muestra la ventana en su tamaño y posición más recientes. La ventana que está activa actualmente permanece activa.

  • SW_SHOWNORMAL Activa y muestra la ventana. Si la ventana está minimizada o maximizada, Windows la restaura a su tamaño y posición originales.

Valor devuelto

Distinto de cero si la ventana era visible anteriormente; 0 si se ocultaba anteriormente.

Consulte también

CCmdTarget (clase)
Gráfico de jerarquías
COleControlContainer (clase)