Поддержка клавиши табуляции в элементе управления IWebBrowser2 - PullRequest
4 голосов
/ 05 мая 2010

У меня есть встроенный элемент управления IWebBrowser2, использующий прямой C ++ (с окнами, а не без окон), и когда кто-то нажимает клавишу Tab для перехода между полями в браузере, он выпрыгивает из веб-браузера.

Есть идеи о том, что мне нужно реализовать или что я могу испортить?

Спасибо!

Ответы [ 2 ]

1 голос
/ 05 мая 2010

Клавиши ускорения, такие как вкладка, обрабатываются циклом сообщений перед отправкой. Так как такая подключаемая функция должна вызываться циклом сообщений - IOleInPlaceActiveObject :: TranslateAccelerator iirc. - дать элементу управления возможность делать вещи типа клавиатуры.

0 голосов
/ 28 мая 2013

Я решил эту проблему по ссылке ниже.

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();

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...