Interfaz IAxWinHostWindow
Esta interfaz proporciona métodos para manipular un control y su objeto host.
Importante
Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.
Sintaxis
interface IAxWinHostWindow : IUnknown
Miembros
Métodos
Nombre | Descripción |
---|---|
AttachControl | Asocia un control existente al objeto host. |
CreateControl | Crea un control y lo asocia al objeto de host. |
CreateControlEx | Crea un control, lo adjunta al objeto de host y, opcionalmente, configura un controlador de eventos. |
QueryControl | Devuelve un puntero de interfaz al control hospedado. |
SetExternalDispatch | Establece la interfaz externa IDispatch . |
SetExternalUIHandler | Establece la interfaz externa IDocHostUIHandlerDispatch . |
Comentarios
Esta interfaz se expone mediante los objetos de hospedaje de controles ActiveX de ATL. Llame a los métodos de esta interfaz para crear o asociar un control al objeto host, para obtener una interfaz de un control hospedado o para establecer el controlador de interfaz de usuario o dispinterface externo para su uso al hospedar el explorador web.
Requisitos
La definición de esta interfaz está disponible como IDL o C++, como se muestra a continuación.
Tipo de definición | Archivo |
---|---|
IDL | ATLIFace.idl |
C++ | ATLIFace.h (incluido también en ATLBase.h) |
IAxWinHostWindow::AttachControl
Asocia un control existente (y previamente inicializado) al objeto host mediante la ventana identificada por hWnd.
STDMETHOD(AttachControl)(IUnknown* pUnkControl, HWND hWnd);
Parámetros
pUnkControl
[in] Puntero a la interfaz IUnknown
del control que se va a asociar al objeto host.
hWnd
[in] Manipulador de la ventana que se va a usar para el hospedaje.
Valor devuelto
Valor HRESULT estándar.
IAxWinHostWindow::CreateControl
Crea un control, lo inicializa y lo hospeda en la ventana identificada por hWnd.
STDMETHOD(CreateControl)(
LPCOLESTR lpTricsData,
HWND hWnd,
IStream* pStream);
Parámetros
lpTricsData
[in] Cadena que identifica el control que se va a crear. Puede ser CLSID (debe incluir las llaves), ProgID, URL o HTML sin formato (con el prefijo MSHTML:).
hWnd
[in] Manipulador de la ventana que se va a usar para el hospedaje.
pStream
[in] Puntero de interfaz de un flujo que contiene datos de inicialización para el control. Puede ser NULL.
Valor devuelto
Valor HRESULT estándar.
Comentarios
El objeto host que expone esta interfaz creará una subclase de este ventana para que los mensajes se puedan reflejar en el control y funcionen otras características del contenedor.
Llamar a este método es equivalente a llamar a IAxWinHostWindow::CreateControlEx.
Para crear un control ActiveX con licencia, consulte IAxWinHostWindowLic::CreateControlLic.
IAxWinHostWindow::CreateControlEx
Crea un control ActiveX, lo inicializa y lo hospeda en la ventana especificada, de forma similar a IAxWinHostWindow::CreateControl.
STDMETHOD(CreateControlEx)(
LPCOLESTR lpszTricsData,
HWND hWnd,
IStream* pStream,
IUnknown** ppUnk,
REFIID riidAdvise,
IUnknown* punkAdvise);
Parámetros
lpTricsData
[in] Cadena que identifica el control que se va a crear. Puede ser CLSID (debe incluir las llaves), ProgID, URL o HTML sin formato (con el prefijo MSHTML:).
hWnd
[in] Manipulador de la ventana que se va a usar para el hospedaje.
pStream
[in] Puntero de interfaz de un flujo que contiene datos de inicialización para el control. Puede ser NULL.
ppUnk
[out] Dirección de un puntero que recibirá la interfaz IUnknown
del control creado. Puede ser NULL.
riidAdvise
[in] El identificador de interfaz de una interfaz de salida en el objeto contenido. Puede ser IID_NULL.
punkAdvise
[in] Puntero a la interfaz IUnknown
del objeto receptor que se va a conectar al punto de conexión en el objeto contenido especificado por iidSink
.
Valor devuelto
Valor HRESULT estándar.
Comentarios
A diferencia del método CreateControl
, CreateControlEx
también permite recibir un puntero de interfaz al control recién creado y configurar un receptor de eventos para recibir los eventos desencadenados por el control.
Para crear un control ActiveX con licencia, consulte IAxWinHostWindowLic::CreateControlLicEx.
IAxWinHostWindow::QueryControl
Devuelve el puntero de interfaz especificado que ha proporcionado el control hospedado.
STDMETHOD(QueryControl)(
REFIID riid,
void** ppvObject);
Parámetros
riid
[in] Identificador de una interfaz del control que se solicita.
ppvObject
[out] Dirección de un puntero que recibirá la interfaz especificada del control creado.
Valor devuelto
Valor HRESULT estándar.
IAxWinHostWindow::SetExternalDispatch
Establece el elemento dispinterface externo, que está disponible para los controles contenidos mediante el método IDocHostUIHandlerDispatch::GetExternal.
STDMETHOD(SetExternalDispatch)(IDispatch* pDisp);
Parámetros
pDisp
[in] Puntero a una interfaz IDispatch
.
Valor devuelto
Valor HRESULT estándar.
IAxWinHostWindow::SetExternalUIHandler
Llame a esta función para establecer la interfaz externa IDocHostUIHandlerDispatch para el objetoCAxWindow
.
STDMETHOD(SetExternalUIHandler)(IDocHostUIHandlerDispatch* pDisp);
Parámetros
pDisp
[in] Puntero a una interfaz IDocHostUIHandlerDispatch
.
Valor devuelto
Valor HRESULT estándar.
Comentarios
Esta función la usan los controles (como el control de explorador web) que consultan el sitio del host para la interfaz IDocHostUIHandlerDispatch
.
Consulte también
IAxWinAmbientDispatch (interfaz)
CAxWindow::QueryHost
AtlAxGetHost