共用方式為


IAxWinHostWindow 介面

這個介面提供用來操作控制項及其主物件的方法。

重要

這個類別及其成員不能用於在Windows 執行階段中執行的應用程式。

語法

interface IAxWinHostWindow : IUnknown

成員

方法

名稱 描述
AttachControl 將現有的控制項附加至主物件。
CreateControl 建立控制項並將它附加至主物件。
CreateControlEx 建立控制項、將它附加至主物件,並選擇性地設定事件處理常式。
QueryControl 傳回裝載控制項的介面指標。
SetExternalDispatch 設定外部 IDispatch 介面。
SetExternalUIHandler 設定外部 IDocHostUIHandlerDispatch 介面。

備註

此介面是由 ATL 的 ActiveX 控制項主控物件公開。 呼叫這個介面上的 方法,以建立和/或將控制項附加至主物件、從裝載的控制項取得介面,或設定外部 dispinterface 或 UI 處理常式,以在裝載網頁瀏覽器時使用。

需求

此介面的定義以 IDL 或 C++ 的形式提供,如下所示。

定義類型 檔案
IDL ATLIFace.idl
C++ ATLIFace.h (也包含在 ATLBase.h 中)

IAxWinHostWindow::AttachControl

使用 hWnd 識別的視窗,將現有的 (先前初始化) 控制項附加至主物件。

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

參數

pUnkControl
[in]要附加至主物件的控制項介面指標 IUnknown

hWnd
[in]要用於裝載之視窗的控制碼。

傳回值

標準 HRESULT 值。

IAxWinHostWindow::CreateControl

建立控制項、初始化控制項,並將它裝載于 hWnd 識別的視窗中。

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

參數

lpTricsData
[in]識別要建立之控制項的字串。 可以是 CLSID (必須包含大括弧)、ProgID、URL 或原始 HTML(前面加上 MSHTML: )。

hWnd
[in]要用於裝載之視窗的控制碼。

pStream
[in]資料流程的介面指標,包含 控制項的初始化資料。 可以是 Null。

傳回值

標準 HRESULT 值。

備註

此視窗將會由公開此介面的主機物件子類別化,以便將訊息反映至控制項,而其他容器功能將會運作。

呼叫此方法相當於呼叫 IAxWinHostWindow::CreateControlEx

若要建立授權的 ActiveX 控制項,請參閱 IAxWinHostWindowLic::CreateControlLic

IAxWinHostWindow::CreateControlEx

建立 ActiveX 控制項、初始化它,並在指定的視窗中裝載它,類似于 IAxWinHostWindow::CreateControl

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

參數

lpTricsData
[in]識別要建立之控制項的字串。 可以是 CLSID (必須包含大括弧)、ProgID、URL 或原始 HTML(前面加上 MSHTML: )。

hWnd
[in]要用於裝載之視窗的控制碼。

pStream
[in]資料流程的介面指標,包含 控制項的初始化資料。 可以是 Null。

ppUnk
[out]將接收 IUnknown 所建立控制項介面之指標的位址。 可以是 Null。

riidAdvise
[in]自主物件上傳出介面的介面識別碼。 可以是IID_Null。

punkAdvise
[in]要連接到 所指定 iidSink 之自主物件之連接點之接收物件的介面指標 IUnknown

傳回值

標準 HRESULT 值。

備註

CreateControl不同于 方法, CreateControlEx 也可讓您接收新建立控制項的介面指標,並設定事件接收接收控制項所引發的事件。

若要建立授權的 ActiveX 控制項,請參閱 IAxWinHostWindowLic::CreateControlLicEx

IAxWinHostWindow::QueryControl

傳回裝載控制項所提供的指定介面指標。

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

參數

riid
[in]所要求控制項上的介面識別碼。

ppvObject
[out]將接收所建立控制項之指定介面的指標位址。

傳回值

標準 HRESULT 值。

IAxWinHostWindow::SetExternalDispatch

設定外部 dispinterface,可透過 IDocHostUIHandlerDispatch::GetExternal 方法包含控制項。

STDMETHOD(SetExternalDispatch)(IDispatch* pDisp);

參數

pDisp
[in]介面的 IDispatch 指標。

傳回值

標準 HRESULT 值。

IAxWinHostWindow::SetExternalUIHandler

呼叫此函式來設定物件的外部 IDocHostUIHandlerDispatch 介面 CAxWindow

STDMETHOD(SetExternalUIHandler)(IDocHostUIHandlerDispatch* pDisp);

參數

pDisp
[in]介面的 IDocHostUIHandlerDispatch 指標。

傳回值

標準 HRESULT 值。

備註

此函式是由查詢主機網站 IDocHostUIHandlerDispatch 之介面的控制項(例如網頁瀏覽器控制項)使用。

另請參閱

IAxWinAmbientDispatch 介面
CAxWindow::QueryHost
AtlAxGetHost