2010-05-05 54 views
4

我有一個嵌入式IWebBrowser2控件使用直C++(窗口化,非窗口化),當有人點擊Tab鍵瀏覽器中的字段之間時,它將焦點從Web瀏覽器中跳出。在IWebBrowser2控件中的Tab鍵支持

關於我需要實施什麼或者我可能會搞砸的想法?

謝謝!

回答

1

像tab這樣的加速器鍵擊在被分派之前由消息循環處理。由於這種鉤子函數需要通過消息循環調用 - IOleInPlaceActiveObject::TranslateAccelerator iirc。 - 爲控件提供鍵盤導航類型的機會。

+0

我其實是有這個成立了,但我沒有正確將它發送給控制。但這肯定是出了什麼問題,謝謝你的幫助! – Bob 2010-05-05 20:10:03

0

我通過下面的鏈接解決了這個問題。

http://social.msdn.microsoft.com/Forums/en-US/ieextensiondevelopment/thread/1f485dc6-e8b2-4da7-983f-ca431f96021f/

IWebBrowser2* iBrowser; 
IOleInPlaceActiveObject* pIOIPAO; 

hr = mpWebObject->QueryInterface(IID_IWebBrowser2,(void**)&iBrowser); 
if (SUCCEEDED(hr)) 
{ 
iBrowser->QueryInterface(IID_IOleInPlaceActiveObject,(void**)&pIOIPAO); 
      if (SUCCEEDED(hr)) 
      { 
      pIOIPAO->TranslateAccelerator(msg); 
        pIOIPAO->Release(); 
      } 
      iBrowser->Release(); 

}