識別 DHTML 控制項專案的項目
大部分的 DHTML 控制項程式代碼與針對任何 ATL 控制項所建立的程式碼完全相同。 如需泛型程式代碼的基本瞭解,請完成ATL教學課程,並閱讀建立ATL專案和ATL COM物件基本概念小節。
DHTML 控制項與任何 ATL 控制件類似,除了:
除了控件所實作的一般介面之外,它也會實作額外的介面,用來在C++程序代碼與 HTML 使用者介面(UI) 之間進行通訊。 HTML UI 會使用此介面呼叫C++程序代碼。
它會建立控件 UI 的 HTML 資源。
它允許透過成員變數
m_spBrowser
存取 DHTML 物件模型,這是 IWebBrowser2 類型的智慧型手機指標。 使用此指標來存取 DHTML 物件模型的任何部分。
下圖說明 DLL、DHTML 控件、網頁瀏覽器和 HTML 資源之間的關聯性。
注意
此圖形上的名稱是佔位元。 HTML 資源的名稱和控件上公開的介面是根據您在 ATL 控件精靈中指派的名稱。
在此圖中,元素如下:
我的 DLL 使用 ATL 專案精靈建立的 DLL。
DHTML 控制件 (
m_spBrowser
) 使用 ATL 物件精靈建立的 DHTML 控制件。 此控制項會透過網頁瀏覽器物件的介面IWebBrowser2
,存取網頁瀏覽器物件及其方法。 除了控件所需的其他標準介面之外,控件本身還會公開下列兩個介面。IDHCTL1
控件公開的介面,僅供容器使用。IDHCTLUI1
用於C++程序代碼與 HTML 使用者介面之間通訊的分派介面。 網頁瀏覽器會使用控制元件的分派介面來顯示控件。 您可以從控件的使用者介面呼叫此分派介面的各種方法,方法是叫window.external
用 ,後面接著您要叫用的這個分派介面上的方法名稱。 您可以從 HTML 中組成此控制元件 UI 的 SCRIPT 標籤進行存取window.external
。 如需在資源檔中叫用外部方法的詳細資訊,請參閱 從 DHTML 呼叫程式代碼C++。
IDR_CTL1 HTML 資源的資源標識碼。 在此案例中,其檔名DHCTL1UI.htm。 DHTML 控制項會使用 HTML 資源,其中包含您可以使用文字編輯器編輯的標準 HTML 標記和外部視窗分派命令。
網頁瀏覽器 網頁瀏覽器會根據 HTML 資源中的 HTML 來顯示控件的 UI。 網頁瀏覽器介面的
IWebBrowser2
指標可在 DHTML 控件中使用,以允許存取 DHTML 物件模型。
ATL 控件精靈會在 HTML 資源和.cpp檔案中產生具有預設程式代碼的控制件。 您可以編譯並執行精靈所產生的控件,然後在網頁瀏覽器或 ActiveX 控制件測試容器中檢視控制項。 下圖顯示預設 ATL DHTML 控制件,其中三個按鈕會顯示在測試容器中:
請參閱 建立 ATL DHTML 控制項 以開始建置 DHTML 控制件。 如需如何存取測試容器的資訊,請參閱 使用測試容器 測試屬性和事件。