Condividi tramite


Interfaccia IAxWinHostWindow

Questa interfaccia fornisce metodi per modificare un controllo e il relativo oggetto host.

Importante

Questa classe e i relativi membri non possono essere usati nelle applicazioni eseguite in Windows Runtime.

Sintassi

interface IAxWinHostWindow : IUnknown

Membri

Metodi

Nome Descrizione
AttachControl Collega un controllo esistente all'oggetto host.
CreateControl Crea un controllo e lo collega all'oggetto host.
CreateControlEx Crea un controllo, lo collega all'oggetto host e, facoltativamente, configura un gestore eventi.
QueryControl Restituisce un puntatore di interfaccia al controllo ospitato.
SetExternalDispatch Imposta l'interfaccia esterna IDispatch .
SetExternalUIHandler Imposta l'interfaccia esterna IDocHostUIHandlerDispatch .

Osservazioni:

Questa interfaccia viene esposta dagli oggetti host del controllo ActiveX di ATL. Chiamare i metodi in questa interfaccia per creare e/o collegare un controllo all'oggetto host, per ottenere un'interfaccia da un controllo ospitato o per impostare il gestore esterno dispinterface o dell'interfaccia utente da usare durante l'hosting del Web browser.

Requisiti

La definizione di questa interfaccia è disponibile come IDL o C++, come illustrato di seguito.

Tipo definizione file
IDL ATLIFace.idl
C++ ATLIFace.h (incluso anche in ATLBase.h)

IAxWinHostWindow::AttachControl

Collega un controllo esistente (e inizializzato in precedenza) all'oggetto host usando la finestra identificata da hWnd.

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

Parametri

pUnkControl
[in] Puntatore all'interfaccia IUnknown del controllo da associare all'oggetto host.

hWnd
[in] Handle per la finestra da usare per l'hosting.

Valore restituito

Valore HRESULT standard.

IAxWinHostWindow::CreateControl

Crea un controllo, lo inizializza e lo ospita nella finestra identificata da hWnd.

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

Parametri

lpTricsData
[in] Stringa che identifica il controllo da creare. Può essere un CLSID (deve includere le parentesi graffe), ProgID, URL o HTML non elaborato (preceduto da MSHTML:).

hWnd
[in] Handle per la finestra da usare per l'hosting.

pStream
[in] Puntatore di interfaccia per un flusso contenente i dati di inizializzazione per il controllo. Può essere NULL.

Valore restituito

Valore HRESULT standard.

Osservazioni:

Questa finestra verrà sottoclassata dall'oggetto host che espone questa interfaccia in modo che i messaggi possano essere riflessi nel controllo e che funzionino altre funzionalità del contenitore.

La chiamata a questo metodo equivale a chiamare IAxWinHostWindow::CreateControlEx.

Per creare un controllo ActiveX concesso in licenza, vedere IAxWinHostWindowLic::CreateControlLic.

IAxWinHostWindow::CreateControlEx

Crea un controllo ActiveX, lo inizializza e lo ospita nella finestra specificata, simile a IAxWinHostWindow::CreateControl.

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

Parametri

lpTricsData
[in] Stringa che identifica il controllo da creare. Può essere un CLSID (deve includere le parentesi graffe), ProgID, URL o HTML non elaborato (preceduto da MSHTML:).

hWnd
[in] Handle per la finestra da usare per l'hosting.

pStream
[in] Puntatore di interfaccia per un flusso contenente i dati di inizializzazione per il controllo. Può essere NULL.

ppUnk
[out] Indirizzo di un puntatore che riceverà l'interfaccia IUnknown del controllo creato. Può essere NULL.

riidAdvise
[in] Identificatore dell'interfaccia di un'interfaccia in uscita nell'oggetto contenuto. Può essere IID_NULL.

punkAdvise
[in] Puntatore all'interfaccia dell'oggetto IUnknown sink da connettere al punto di connessione nell'oggetto contenuto specificato da iidSink.

Valore restituito

Valore HRESULT standard.

Osservazioni:

A differenza del CreateControl metodo , CreateControlEx consente anche di ricevere un puntatore di interfaccia al controllo appena creato e di configurare un sink di eventi per ricevere gli eventi generati dal controllo .

Per creare un controllo ActiveX concesso in licenza, vedere IAxWinHostWindowLic::CreateControlLicEx.

IAxWinHostWindow::QueryControl

Restituisce il puntatore all'interfaccia specificato fornito dal controllo ospitato.

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

Parametri

riid
[in] ID di un'interfaccia sul controllo richiesto.

ppvObject
[out] Indirizzo di un puntatore che riceverà l'interfaccia specificata del controllo creato.

Valore restituito

Valore HRESULT standard.

IAxWinHostWindow::SetExternalDispatch

Imposta la dispinterface esterna, disponibile per i controlli contenuti tramite il metodo IDocHostUIHandlerDispatch::GetExternal .

STDMETHOD(SetExternalDispatch)(IDispatch* pDisp);

Parametri

pDisp
[in] Puntatore a un'interfaccia IDispatch .

Valore restituito

Valore HRESULT standard.

IAxWinHostWindow::SetExternalUIHandler

Chiamare questa funzione per impostare l'interfaccia IDocHostUIHandlerDispatch esterna per l'oggettoCAxWindow.

STDMETHOD(SetExternalUIHandler)(IDocHostUIHandlerDispatch* pDisp);

Parametri

pDisp
[in] Puntatore a un'interfaccia IDocHostUIHandlerDispatch .

Valore restituito

Valore HRESULT standard.

Osservazioni:

Questa funzione viene usata dai controlli (ad esempio il controllo Web browser) che eseguono query sul sito dell'host per l'interfaccia IDocHostUIHandlerDispatch .

Vedi anche

Interfaccia IAxWinAmbientDispatch
CAxWindow::QueryHost
AtlAxGetHost