修改 ATL DHTML 控制項
ATL 控制項精靈提供起始程式碼,讓您可以建立和執行控制項,和,以便您可以查看方法如何在專案檔,以及如何 DHTML 呼叫使用 Dispatch 方法之控制項的 C++ 程式碼。 您可以將所有的方法僅將事件分派至介面。 然後,您可以在 HTML 資源可以呼叫方法。
修改 ATL DHTML 控制項
在 [類別檢視] 中,展開控制項專案。
請注意在 UI」結尾有方法, OnClick的介面。 在「UI」未關閉的介面並沒有任何方法。
將名為 MethodInvoked的方法加入至 UI 不結束介面」。
這個方法會加入至用來控制項容器的容器互動的介面,而不適用於 DHTML 用來介面與控制項互動。 只有容器可以叫用這個方法。
例如尋找在 .cpp 檔的截短的方法並加入程式碼來顯示訊息方塊,:
::MessageBox(NULL, _T("I'm invoked"), _T("Your Container Message"), MB_OK);
將名為 HelloHTML的另一個方法,在中,只有這次,將它加入至介面中的「UI 的結尾」。例如尋找在 .cpp 檔的截短的 HelloHTML 方法並加入程式碼來顯示訊息方塊,:
::MessageBox(NULL, _T("Here's your message"), _T("HelloHTML"), MB_OK);
將第三個方法, GoToURL,至 UI 不結束介面」。藉由呼叫 IWebBrowser2::Navigate實作此方法,如下所示:
m_spBrowser->Navigate(CComBSTR(L"www.microsoft.com"), NULL, NULL, NULL, NULL);
因為 ATL 提供指標至該介面為您的 .h 檔案,您可以使用 IWebBrowser2 方法。
接著,請修改 HTML 資源叫用您所建立的方法。 您會將叫用這些方法的三個按鈕。
修改 HTML 資源
在 [方案總管] 中,按兩下 .htm 檔顯示 HTML 資源。
檢查 HTML,對外部視窗 (特別是方法的呼叫。 HTML 呼叫專案 OnClick 方法,,和參數表示控制項 (theBody) 和色彩的主體red指派 (" ")。 在方法呼叫後的文字是顯示在按鈕的標籤。
將另一個方法, OnClick ,只有變更色彩。 例如:
<br> <br> <BUTTON onclick='window.external.OnClick(theBody, "white");'>Refresh</BUTTON>
這個方法會建立按鈕,標記 重新整理,使用者可以按一下 將控制項傳回到原始,白色背景。
將呼叫加入至您所建立的 HelloHTML 方法。 例如:
<br> <br> <BUTTON onclick='window.external.HelloHTML();'>HelloHTML</BUTTON>
這個方法會建立按鈕,標記 HelloHTML,使用者可以按一下 以顯示 HelloHTML 訊息方塊。
您現在可以建置並 測試已修改的 DHTML 控制項。