1. 程式人生 > >Internet Explorer 程式設計簡述(十二)正確地設定和轉移焦點

Internet Explorer 程式設計簡述(十二)正確地設定和轉移焦點

處理瀏覽器的按鍵也曾是嵌入WebBrowser控制元件的程式設計難題之一,Delphi對WebBrowser的封裝對按鍵的支援就存在很大問題。在《Programming Internet Explorer》中曾提到的方法是處理MainFrame的PreTranslateMessage,並在其中從WebBrowser的Document查詢得到IOleInPlaceActiveObject介面,將按鍵交給IOleInPlaceActiveObject的TranslateAccelerator成員區處理。查詢MSDN我們可以知道,IOleInPlaceActiveObject::TranslateAccelerator被呼叫時,MSHTML引擎會呼叫IDocHostUIHandler介面的TranslateAccelerator方法,從而給開發人員一個介面來處理按鍵。所以對於實現了IDocHostUIHandler介面的應用程式來說,按鍵處理就非常簡單了。