To reproduce, Just toggle your application with other application. When toggling back to your application, Chinese IME begin effective for the window.
Then I try a blank window project. English IME and Chinese IME both are effective for the window which should be a expected behavior.
But Why cannot Chinese IME take effect when your application starting? You SetFocus
to a ITfDocumentMgr
.
IMESample.cpp
TextService.cpp
Now, if you want, you can SetFocus
to others for example a ITfDocumentMgr
when WM_SETFOCUS
. I have tested with following code.
case WM_SETFOCUS:
mgr.getTextService().setFocus(mgr.getTextService().getDocumentManager());
return 0;