Compartir a través de


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