wtl对话框中嵌入ie控件

发现在对话框中嵌入ie控件后,只响应keypress,其余的tab,keydown,keyup,上下箭头都不响应了。

解决办法:

窗口中一定要有消息循环,重载PreTranslateMessage

BOOL PreTranslateMessage(MSG* pMsg)
{
 if (pMsg->message == WM_KEYDOWN  || WM_KEYUP || WM_KEYPRESS || WM_CHAR。。。)
 {
  CComQIPtr<IOleInPlaceActiveObject,&IID_IOleInPlaceActiveObject> pIOIPAO(m_pWebBrowser);

  if (pIOIPAO)
  {
   if(S_OK == pIOIPAO->TranslateAccelerator(pMsg))
   {
    return TRUE;
   }
  }
 }

 return CWindow::IsDialogMessage(pMsg);
}

你可能感兴趣的:(IE)