1. 程式人生 > >如何對webbrowser和IE程式設計(十)

如何對webbrowser和IE程式設計(十)

, 它其實就是像IWebBrowser2一樣的另外 COM 介面,所以它可以包含方法. (D 開頭的命名是表示這是派遣介面.一個派遣介面是一個IDispatch 介面.但不同於普通介面, 派遣介面沒有vtable.) 就像一個介面一樣,派遣介面只不過提供一些函式的定義—他們並不真實實現.事件的實現由客戶提供.舉例來說,為了讓WebBrowser 激發一個事件, 在DWebBrowserEvents2 介面中適當定義一些方法.這些方法由客戶實現.但WebBrowser不直接呼叫這些方法.換句話講, WebBrowser 並不呼叫DocumentComplete 方法.因為 DWebBrowserEvents2
是派遣介面, WebBrowser 通過IDispatch::Invoke呼叫客戶的實現. 早期, 當WebBrowser 呼叫客戶的Invoke 實現, WebBrowser 傳遞事件被激發的DISPID.