在最后相应windows消息传递的时候,需要处理一下:
- STDMETHODIMP CMyIEToolbar::TranslateAcceleratorIO(LPMSG lpMsg)
- {
- //编辑框输入中文解决方法(抄来的,没研究)
- int nVirtkey = (int)lpMsg->wParam;
- if(WM_KEYUP == lpMsg->message && VK_RETURN == nVirtkey)
- {
- lpMsg->wParam = 0;
- //发送enter键的消息给父窗口,消息是WM_GETQUOTE,将lpMsg的wParam设为0
- ::PostMessage(m_ReflectWnd.GetToolBar().GetEditBox().GetParent(),WM_GETQUOTE,0,0);
- return S_OK;
- }
- else if((WM_KEYUP == lpMsg->message || WM_KEYDOWN == lpMsg->message) &
- VK_BACK == nVirtkey ||(VK_END <= nVirtkey && VK_DOWN >= nVirtkey ) || VK_DELETE == nVirtkey)
- {
- TranslateMessage(lpMsg);
- DispatchMessage(lpMsg);
- return S_OK;
- }
- else
- {
- return S_FALSE;
- }
- }