Partilhar via


Interface IAxWinHostWindow

Essa interface fornece métodos para manipular um controle e seu objeto host.

Importante

Essa classe e os respectivos membros não podem ser usados em aplicativos executados no Windows Runtime.

Sintaxe

interface IAxWinHostWindow : IUnknown

Membros

Métodos

Nome Descrição
AttachControl Anexa um controle existente ao objeto host.
CreateControl Cria um controle e o anexa ao objeto host.
CreateControlEx Cria um controle, anexa-o ao objeto host e, opcionalmente, configura um manipulador de eventos.
QueryControl Retorna um ponteiro de interface para o controle hospedado.
SetExternalDispatch Define a interface IDispatch externa.
SetExternalUIHandler Define a interface IDocHostUIHandlerDispatch externa.

Comentários

Essa interface é exposta pelos objetos de hospedagem de controle ActiveX da ATL. Chame os métodos nessa interface para criar e/ou anexar um controle ao objeto host, para obter uma interface de um controle hospedado ou para definir a dispinterface externa ou o manipulador de interface do usuário para uso ao hospedar o navegador da Web.

Requisitos

A definição dessa interface está disponível como IDL ou C++, conforme mostrado abaixo.

Tipo da definição Arquivo
IDL ATLIFace.idl
C++ ATLIFace.h (também incluído em ATLBase.h)

IAxWinHostWindow::AttachControl

Anexa um controle existente (e inicializado anteriormente) ao objeto host usando a janela identificada pelo hWnd.

STDMETHOD(AttachControl)(IUnknown* pUnkControl, HWND hWnd);

Parâmetros

pUnkControl
[in] Um ponteiro para a interface IUnknown do controle a ser anexado ao objeto host.

hWnd
[in] Um identificador para a janela a ser usada para hospedagem.

Valor de retorno

Um valor HRESULT padrão.

IAxWinHostWindow::CreateControl

Cria um controle, inicializa-o e hospeda-o na janela identificada pelo hWnd.

STDMETHOD(CreateControl)(
    LPCOLESTR lpTricsData,
    HWND hWnd,
    IStream* pStream);

Parâmetros

lpTricsData
[in] Uma cadeia de caracteres que identifica o controle a ser criado. Pode ser um CLSID (deve incluir as chaves), ProgID, URL ou HTML bruto (prefixado por MSHTML:).

hWnd
[in] Um identificador para a janela a ser usada para hospedagem.

pStream
[in] Um ponteiro de interface para um fluxo que contém dados de inicialização para o controle. Pode ser NULL.

Valor de retorno

Um valor HRESULT padrão.

Comentários

Essa janela será subclasse pelo objeto host expondo essa interface para que as mensagens possam ser refletidas no controle e outros recursos de contêiner funcionarão.

Chamar esse método é equivalente a chamar IAxWinHostWindow::CreateControlEx.

Para criar um controle ActiveX licenciado, confira IAxWinHostWindowLic::CreateControlLic.

IAxWinHostWindow::CreateControlEx

Cria um controle ActiveX, inicializa-o e hospeda-o na janela especificada, semelhante a IAxWinHostWindow::CreateControl.

STDMETHOD(CreateControlEx)(
    LPCOLESTR lpszTricsData,
    HWND hWnd,
    IStream* pStream,
    IUnknown** ppUnk,
    REFIID riidAdvise,
    IUnknown* punkAdvise);

Parâmetros

lpTricsData
[in] Uma cadeia de caracteres que identifica o controle a ser criado. Pode ser um CLSID (deve incluir as chaves), ProgID, URL ou HTML bruto (prefixado com MSHTML:).

hWnd
[in] Um identificador para a janela a ser usada para hospedagem.

pStream
[in] Um ponteiro de interface para um fluxo que contém dados de inicialização para o controle. Pode ser NULL.

ppUnk
[out] O endereço de um ponteiro que receberá a interface IUnknown do controle criado. Pode ser NULL.

riidAdvise
[in] O identificador de interface de uma interface de saída no objeto contido. Pode ser IID_NULL.

punkAdvise
[in] Um ponteiro para a interface IUnknown do objeto coletor a ser conectado ao ponto de conexão no objeto contido especificado por iidSink.

Valor de retorno

Um valor HRESULT padrão.

Comentários

Ao contrário do método CreateControl, CreateControlEx também permite que você receba um ponteiro de interface para o controle recém-criado e configure um coletor de eventos para receber eventos disparados pelo controle.

Para criar um controle ActiveX licenciado, confira IAxWinHostWindowLic::CreateControlLicEx.

IAxWinHostWindow::QueryControl

Retorna o ponteiro de interface especificado fornecido pelo controle hospedado.

STDMETHOD(QueryControl)(
    REFIID riid,
    void** ppvObject);

Parâmetros

riid
[in] A ID de uma interface no controle que está sendo solicitado.

ppvObject
[out] O endereço de um ponteiro que receberá a interface especificada do controle criado.

Valor de retorno

Um valor HRESULT padrão.

IAxWinHostWindow::SetExternalDispatch

Define a dispinterface externa, que está disponível para controles contidos por meio do método IDocHostUIHandlerDispatch::GetExternal.

STDMETHOD(SetExternalDispatch)(IDispatch* pDisp);

Parâmetros

pDisp
[in] Um ponteiro para uma interface IDispatch.

Valor de retorno

Um valor HRESULT padrão.

IAxWinHostWindow::SetExternalUIHandler

Chame essa função para definir a interface IDocHostUIHandlerDispatch externa para o objeto CAxWindow.

STDMETHOD(SetExternalUIHandler)(IDocHostUIHandlerDispatch* pDisp);

Parâmetros

pDisp
[in] Um ponteiro para uma interface IDocHostUIHandlerDispatch.

Valor de retorno

Um valor HRESULT padrão.

Comentários

Essa função é usada por controles (como o controle do navegador da Web) que consultam o site do host para a interface IDocHostUIHandlerDispatch.

Confira também

Interface IAxWinAmbientDispatch
CAxWindow::QueryHost
AtlAxGetHost