开发IE Toolbar时,输入窗口不能输入中文(解决)

来源:互联网 发布:网络硬件主要包括 编辑:程序博客网 时间:2024/06/01 18:57
在最后相应windows消息传递的时候,需要处理一下:
  1. STDMETHODIMP CMyIEToolbar::TranslateAcceleratorIO(LPMSG lpMsg)
  2. {
  3.     //编辑框输入中文解决方法(抄来的,没研究)
  4.     int nVirtkey = (int)lpMsg->wParam;
  5.     if(WM_KEYUP == lpMsg->message && VK_RETURN == nVirtkey)
  6.     {
  7.         lpMsg->wParam = 0;
  8.         //发送enter键的消息给父窗口,消息是WM_GETQUOTE,将lpMsg的wParam设为0
  9.         ::PostMessage(m_ReflectWnd.GetToolBar().GetEditBox().GetParent(),WM_GETQUOTE,0,0);
  10.         return S_OK;
  11.     }
  12.     else if((WM_KEYUP == lpMsg->message || WM_KEYDOWN == lpMsg->message) &
  13.         VK_BACK == nVirtkey ||(VK_END <= nVirtkey && VK_DOWN >= nVirtkey ) || VK_DELETE == nVirtkey)
  14.     {
  15.         TranslateMessage(lpMsg);
  16.         DispatchMessage(lpMsg);
  17.         return S_OK;
  18.     }
  19.     else
  20.     {
  21.         return S_FALSE;
  22.     }
  23. }
原创粉丝点击