共用方式為


從 DHTML 呼叫 C++ 程式碼

DHTML 控制件可以裝載在容器中,例如測試容器或 Internet Explorer。 如需如何存取測試容器的資訊,請參閱 使用測試容器 測試屬性和事件。

裝載控件的容器會使用一般控制項介面與控件通訊。 DHTML 使用以 「UI」 結尾的分派介面,與您的C++程式代碼和 HTML 資源通訊。 在修改 ATL DHTML 控制件,您可以練習新增這些不同介面所呼叫的方法。

若要查看從 DHTML 呼叫C++程式代碼的範例, 請使用 ATL 控件精靈建立 DHTML 控制件 ,並檢查頭檔案和 HTML 檔案中的程式代碼。

在頭檔中宣告 WebBrowser 方法

若要從 DHTML UI 叫用C++方法,您必須將方法新增至控件的 UI 介面。 例如,ATL 控件精靈所建立的頭檔包含 C++ 方法 OnClick,這是精靈所產生控件之 UI 介面的成員。

檢查 OnClick 控制件的 .h 檔案:

STDMETHOD(OnClick)(IDispatch* pdispBody, VARIANT varColor)

第一個參數 pdispBody 是主體物件分派介面的指標。 第二個參數 varColor 會識別要套用至控件的色彩。

在 HTML 檔案中呼叫C++程序代碼

在頭檔中宣告 WebBrowser 方法之後,您就可以從 HTML 檔案叫用方法。 請注意,在 HTML 檔案中,ATL 控件精靈會插入三個 Windows 分派方法:三 OnClick 種方法會分派訊息以變更控件的背景色彩。

檢查 HTML 檔案中的其中一個方法:

<BUTTON onclick='window.external.OnClick(theBody, "red");'>Red</BUTTON>

在上述 HTML 程式代碼中,視窗外部方法 OnClick會呼叫 做為按鈕標記的一部分。 方法有兩個參數: theBody,它會參考 HTML 檔的本文,以及 "red",表示按下按鈕時,控件的背景色彩會變更為紅色。 下列 Red 標籤是按鈕的標籤。

如需提供您自己的方法的詳細資訊,請參閱 修改 ATL DHTML 控件 。 如需 HTML 檔案的詳細資訊,請參閱 識別 DHTML 控件專案的 元素。

另請參閱

支援 DHTML 控制件