Partilhar via


IAxWinHostWindow Interface

Observação

A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Esta interface fornece métodos para manipular um controlo e o seu objeto anfitrião.

Importante

Esta classe e os seus membros não podem ser usados em aplicações que sejam executadas no Windows Runtime.

Sintaxe

interface IAxWinHostWindow : IUnknown

Membros

Methods

Nome Description
AttachControl Anexa um controlo existente ao objeto anfitrião.
CreateControl Cria um controlo e anexa-o ao objeto anfitrião.
CreateControlEx Cria um controlo, anexa-o ao objeto anfitrião e, opcionalmente, configura um gestor de eventos.
QueryControl Devolve um ponteiro de interface para o controlo hospedado.
SetExternalDispatch Define a interface externa IDispatch .
SetExternalUIHandler Define a interface externa IDocHostUIHandlerDispatch .

Observações

Esta interface é exposta pelos objetos de alojamento de controlo ActiveX da ATL. Chame os métodos nesta interface para criar e/ou anexar um controlo ao objeto anfitrião, obter uma interface a partir de um controlo hospedado, ou definir a disinterface externa ou o handler de interface para uso ao hospedar o navegador Web.

Requerimentos

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

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

IAxWinHostWindow::AttachControl

Anexa um controlo existente (e previamente inicializado) ao objeto anfitrião usando a janela identificada por hWnd.

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

Parâmetros

pUnkControl
[dentro] Um ponteiro para a IUnknown interface do controlo a ser ligado ao objeto anfitrião.

hWnd
[dentro] Uma maçaneta para a janela para ser usada como hospedagem.

Valor de retorno

Um valor HRESULT padrão.

IAxWinHostWindow::CreateControl

Cria um controlo, inicializa-o e aloja-o na janela identificada por hWnd.

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

Parâmetros

lpTricsData
[dentro] Uma cadeia que identifica o controlo a criar. Pode ser um CLSID (deve incluir as colchetes), ProgID, URL ou HTML bruto (prefixado por MSHTML:).

hWnd
[dentro] Uma maçaneta para a janela para ser usada como hospedagem.

pStream
[dentro] Um ponteiro de interface para um fluxo contendo dados de inicialização para o controlo. Pode ser NULL.

Valor de retorno

Um valor HRESULT padrão.

Observações

Esta janela será subclassificada pelo objeto anfitrião que expõe esta interface para que as mensagens possam ser refletidas para o controlo e outras funcionalidades do contentor funcionem.

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

Para criar um controlo ActiveX licenciado, consulte IAxWinHostWindowLic::CreateControlLic.

IAxWinHostWindow::CreateControlEx

Cria um controlo ActiveX, inicializa-o e aloja-o na janela especificada, semelhante ao IAxWinHostWindow::CreateControl.

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

Parâmetros

lpTricsData
[dentro] Uma cadeia que identifica o controlo a criar. Pode ser um CLSID (deve incluir as colteias), ProgID, URL ou HTML bruto (com prefixo MSHTML:).

hWnd
[dentro] Uma maçaneta para a janela para ser usada como hospedagem.

pStream
[dentro] Um ponteiro de interface para um fluxo contendo dados de inicialização para o controlo. Pode ser NULL.

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

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

punkAdvise
[dentro] Um ponteiro para a IUnknown interface do objeto sumidouro a ser ligado ao ponto de ligação no objeto contido especificado por iidSink.

Valor de retorno

Um valor HRESULT padrão.

Observações

Ao contrário do CreateControl método, CreateControlEx também permite receber um ponteiro de interface para o controlo recém-criado e configurar um dissipador de eventos para receber os eventos disparados pelo controlo.

Para criar um controlo ActiveX licenciado, consulte IAxWinHostWindowLic::CreateControlLic.

IAxWinHostWindow::QueryControl

Devolve o ponteiro de interface especificado fornecido pelo controlo hospedado.

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

Parâmetros

riid
[dentro] O ID de uma interface no controlo solicitado.

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

Valor de retorno

Um valor HRESULT padrão.

IAxWinHostWindow::SetExternalDispatch

Define a disinterface externa, que está disponível para controlos contidos através do método IDocHostUIHandlerDispatch::GetExternal (IDocHostUIHandlerDispatch ).

STDMETHOD(SetExternalDispatch)(IDispatch* pDisp);

Parâmetros

pDisp
[dentro] Um apontador para uma IDispatch interface.

Valor de retorno

Um valor HRESULT padrão.

IAxWinHostWindow::SetExternalUIHandler

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

STDMETHOD(SetExternalUIHandler)(IDocHostUIHandlerDispatch* pDisp);

Parâmetros

pDisp
[dentro] Um apontador para uma IDocHostUIHandlerDispatch interface.

Valor de retorno

Um valor HRESULT padrão.

Observações

Esta função é usada por controlos (como o controlo do navegador Web) que consultam o site do anfitrião para a IDocHostUIHandlerDispatch interface.

Consulte também

IAxWinAmbientDispatch Interface
CAxWindow::QueryHost
AtlAxGetHost