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
之介面的控制項(例如網頁瀏覽器控制件)使用。