共用方式為


CAxWindow 類別

這個類別提供用來操作裝載 ActiveX 控制件之視窗的方法。

重要

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

語法

class CAxWindow : public CWindow

成員

方法

函式 描述
AttachControl 將現有的 ActiveX 控制件附加至 CAxWindow 物件。
CAxWindow 建構 CAxWindow 物件。
CreateControl 建立 ActiveX 控制件、初始化它,並在視窗中裝載它 CAxWindow
CreateControlEx 建立 ActiveX 控制件,並從控件擷取介面指標(或指標)。
GetWndClassName (靜態)擷取物件的預先定義類別名稱 CAxWindow
QueryControl IUnknown擷取載入 ActiveX 控制件的 。
QueryHost IUnknown擷取 物件的指標CAxWindow
SetExternalDispatch 設定物件所使用的 CAxWindow 外部分派介面。
SetExternalUIHandler 設定物件所使用的CAxWindow外部IDocHostUIHandler介面。

操作員

運算子 描述
operator = 將 HWND 指派給現有的 CAxWindow 物件。

備註

這個類別提供用來操作裝載 ActiveX 控制件之視窗的方法。 裝載是由 「AtlAxWin80」 提供,由包裝。CAxWindow

類別 CAxWindow 會實作為 類別的 CAxWindowT 特製化。 此特製化宣告為:

typedef CAxWindowT<CWindow> CAxWindow;

如果您需要變更基類,您可以使用 CAxWindowT 並指定新的基類做為樣板自變數。

需求

標頭: atlwin.h

CAxWindow::AttachControl

如果尚未存在,並且將指定的控件附加至主機,則建立新的主機物件。

HRESULT AttachControl(
    IUnknown* pControl,
    IUnknown** ppUnkContainer);

參數

pControl
[in]控件的指標 IUnknown

ppUnkContainer
[out]主機的指標 IUnknownAxWin 物件)。

傳回值

標準 HRESULT 值。

備註

在呼叫 AttachControl之前,必須先正確初始化所附加的控件物件。

CAxWindow::CAxWindow

CAxWindow使用現有的視窗物件句柄建構 物件。

CAxWindow(HWND hWnd = NULL);

參數

hWnd
現有窗口物件的句柄。

CAxWindow::CreateControl

建立 ActiveX 控制項、將它初始化,然後將它裝載於指定的視窗中。

HRESULT CreateControl(
    LPCOLESTR lpszName,
    IStream* pStream = NULL,
    IUnknown** ppUnkContainer = NULL);

HRESULT CreateControl(
    DWORD dwResID,
    IStream* pStream = NULL,
    IUnknown** ppUnkContainer = NULL);

參數

lpszName
要建立控件之字串的指標。 必須以下欄其中一種方式格式化:

  • ProgID,例如 "MSCAL.Calendar.7"

  • CLSID,例如 "{8E27C92B-1264-101C-8A2F-040224009C02}"

  • URL,例如 "<https://www.microsoft.com>"

  • 使用中文件的參考,例如 "file://\\\Documents\MyDoc.doc"

  • HTML 片段,例如 "MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"

    注意

    "MSHTML:" 必須位於 HTML 片段之前,才能將其指定為 MSHTML 數據流。 Windows Mobile 平臺僅支援 ProgID 和 CLSID。 Windows CE 內嵌平臺,除了支援 CE IE 支援的所有類型,包括 ProgID、CLSID、URL、使用中文件的參考,以及 HTML 片段。

pStream
[in]用來初始化 控件屬性之數據流的指標。 可以是 NULL。

ppUnkContainer
[out]將接收 IUnknown 容器之的指標位址。 可以是 NULL。

dwResID
HTML 資源的資源標識碼。 WebBrowser 控件將會使用指定的資源來建立和載入。

傳回值

標準 HRESULT 值。

備註

如果使用此方法的第二個版本,則會建立 HTML 控件,並系結至 dwResID識別的資源。

此方法提供與呼叫相同的結果:

AtlAxCreateControlEx(lpszName, hWnd, pStream, NULL, NULL, GUID_NULL, NULL);

請參閱 CAxWindow2T::CreateControlLic 來建立、初始化及裝載授權的 ActiveX 控制件。

範例

如需使用 CreateControl的範例,請參閱使用 ATL AXHost 裝載 ActiveX 控制件。

CAxWindow::CreateControlEx

建立 ActiveX 控制項、將它初始化,然後將它裝載於指定的視窗中。

HRESULT CreateControlEx(
    LPCOLESTR lpszName,
    IStream* pStream = NULL,
    IUnknown** ppUnkContainer = NULL,
    IUnknown** ppUnkControl = NULL,
    REFIID iidSink = IID_NULL,
    IUnknown* punkSink = NULL);

HRESULT CreateControlEx(
    DWORD dwResID,
    IStream* pStream = NULL,
    IUnknown** ppUnkContainer = NULL,
    IUnknown** ppUnkControl = NULL,
    REFIID iidSink = IID_NULL,
    IUnknown* punkSink = NULL);

參數

lpszName
要建立控件之字串的指標。 必須以下欄其中一種方式格式化:

  • ProgID,例如 "MSCAL.Calendar.7"

  • CLSID,例如 "{8E27C92B-1264-101C-8A2F-040224009C02}"

  • URL,例如 "<https://www.microsoft.com>"

  • 使用中文件的參考,例如 "file://\\\Documents\MyDoc.doc"

  • HTML 片段,例如 "MSHTML:\<HTML>\<BODY>This is a line of text\</BODY>\</HTML>"

    注意

    "MSHTML:" 必須位於 HTML 片段之前,才能將其指定為 MSHTML 數據流。 Windows Mobile 平臺僅支援 ProgID 和 CLSID。 Windows CE 內嵌平臺,除了支援 CE IE 支援的所有類型,包括 ProgID、CLSID、URL、使用中文件的參考,以及 HTML 片段。

pStream
[in]用來初始化 控件屬性之數據流的指標。 可以是 NULL。

ppUnkContainer
[out]將接收 IUnknown 容器之的指標位址。 可以是 NULL。

ppUnkControl
[out]將接收 IUnknown 控件 之指標的位址。 可以是 NULL。

iidSink
[in]自主物件上傳出介面的介面標識碼。 可以是IID_NULL。

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

dwResID
[in]HTML 資源的資源標識碼。 WebBrowser 控件將會使用指定的資源來建立和載入。

傳回值

標準 HRESULT 值。

備註

這個方法類似於 CAxWindow::CreateControl,但與該方法不同, CreateControlEx 也可讓您接收新建立控件的介面指標,並設定事件接收接收控件所引發的事件。

請參閱 CAxWindow2T::CreateControlLicEx 來建立、初始化及裝載授權的 ActiveX 控制件。

範例

如需使用 CreateControlEx的範例,請參閱使用 ATL AXHost 裝載 ActiveX 控制件。

CAxWindow::GetWndClassName

擷取視窗類別的名稱。

static LPCTSTR GetWndClassName();

傳回值

字串的指標,包含可裝載無授權 ActiveX 控件之視窗類別的名稱。

CAxWindow::operator =

將 HWND 指派給現有的 CAxWindow 物件。

CAxWindow<TBase>& operator=(HWND hWnd);

參數

hWnd
現有視窗的句柄。

傳回值

傳回目前 CAxWindow 物件的參考。

CAxWindow::QueryControl

擷取裝載控件的指定介面。

HRESULT QueryControl(REFIID iid, void** ppUnk);
template <class  Q>
HRESULT QueryControl(Q** ppUnk);

參數

iid
[in]指定控制項介面的 IID。

ppUnk
[out]控件介面的指標。 在此方法的範本版本中,只要傳遞具有相關聯 UUID 的具型別介面,就不需要參考標識符。

Q
[in]要查詢的介面。

傳回值

標準 HRESULT 值。

CAxWindow::QueryHost

傳回主機的指定介面。

HRESULT QueryHost(REFIID iid, void** ppUnk);
template <class  Q>
HRESULT QueryHost(Q** ppUnk);

參數

iid
[in]指定控制項介面的 IID。

ppUnk
[out]主機上介面的指標。 在此方法的範本版本中,只要傳遞具有相關聯 UUID 的具型別介面,就不需要參考標識符。

Q
[in]要查詢的介面。

傳回值

標準 HRESULT 值。

備註

主機的介面允許存取由 實 AxWin作之窗口裝載程式代碼的基礎功能。

CAxWindow::SetExternalDispatch

設定物件的外部分派介面 CAxWindow

HRESULT SetExternalDispatch(IDispatch* pDisp);

參數

pDisp
[in]介面的 IDispatch 指標。

傳回值

標準 HRESULT 值。

CAxWindow::SetExternalUIHandler

設定物件的外部 IDocHostUIHandlerDispatch 介面 CAxWindow

HRESULT SetExternalUIHandler(IDocHostUIHandlerDispatch* pUIHandler);

參數

pUIHandler
[in]介面的 IDocHostUIHandlerDispatch 指標。

傳回值

標準 HRESULT 值。

備註

外部 IDocHostUIHandlerDispatch 介面是由查詢主機網站之 IDocHostUIHandlerDispatch 介面的控制項所使用。 WebBrowser 控件是執行這項作業的一個控件。

另請參閱

ATLCON 範例
CWindow 類別
複合控制項基本概念
類別概觀
控件內含專案常見問題