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. COleControlSite
implementa 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 CWnd
clase derivada del contenedor (por ejemplo, el cuadro de diálogo) invalida la CWnd::CreateControlSite
función.
Jerarquía de herencia
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 CWnd
objeto 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 CWnd
objeto 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 SIZE
que 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 IOleInPlaceObjectWindowless
interfazIOleInPlaceObjectWindowless 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)