共用方式為


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