共用方式為


識別 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 資源之間的關聯性。

DHTML 控制件項目的元素圖表。

注意

此圖形上的名稱是佔位元。 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 控件。

請參閱 建立 ATL DHTML 控制項 以開始建置 DHTML 控制件。 如需如何存取測試容器的資訊,請參閱 使用測試容器 測試屬性和事件。

另請參閱

支援 DHTML 控制件