修改 ATL DHTML 控制項
ATL 控件精靈提供入門程式代碼,讓您能夠建置並執行控件,讓您瞭解如何在專案檔中撰寫方法,以及 DHTML 如何使用分派方法呼叫控件的C++程序代碼。 您可以將任何分派方法新增至 介面。 然後,您可以在 HTML 資源中呼叫 方法。
修改 ATL DHTML 控制件
在 [類別檢視] 中,展開控件專案。
請注意,以 「UI」 結尾的介面有一個方法:
OnClick
。 未以 「UI」 結尾的介面沒有任何方法。將呼叫
MethodInvoked
的方法新增至不會以 「UI」 結尾的介面。這個方法會新增至控件容器中用於容器互動的介面,而不是 DHTML 用來與控件互動的介面。 只有容器可以叫用這個方法。
在 .cpp 檔案中尋找 stubbed-out 方法,並新增程式代碼以顯示消息框,例如:
::MessageBox(NULL, _T("I'm invoked"), _T("Your Container Message"), MB_OK);
新增另一個稱為
HelloHTML
的方法,但這次才將它新增至以 「UI」 結尾的介面。在 .cpp 檔案中尋找 stubbed-outHelloHTML
方法,並新增程式代碼以顯示消息框,例如:::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);
您可以使用
IWebBrowser2
方法,因為 ATL 會在 .h 檔案中為您提供該介面的指標。
接下來,修改 HTML 資源以叫用您所建立的方法。 您將新增三個按鈕來叫用這些方法。
修改 HTML 資源
在 方案總管 中,按兩下.htm檔案以顯示 HTML 資源。
檢查 HTML,特別是對外部 Windows 分派方法的呼叫。 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 控制件。