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
之介面的控制項(例如網頁瀏覽器控制項)使用。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應