Я хочу включить режим IME и установить его по умолчанию на хирагане на японском языке, когда приложение загружается, и установить фокус поля EDIT, чтобы снова отключить его на английском языке. Я перепробовал много комбинаций, но не решил, я делаю этот —
Установить фокус поля редактирования
HIMC himc = ImmGetContext(m_hWnd) ;
HIMC m_himc = ImmAssociateContext(this->m_hWnd, himc);
TCHAR key_layout[20];
DWORD langFlags=IME_CMODE_JAPANESE |IME_CMODE_NATIVE;
ImmSetOpenStatus(himc, TRUE);
ImmSetConversionStatus(himc, langFlags, NULL);
и на Kill Focus —
ImmSetOpenStatus(himc, FALSE);
Любая помощь будет оценена.
Каким-то образом я попробовал хит и пробную версию, и это сработало, вот решение
В фокусе —
ImmAssociateContext(this->m_hWnd, NULL);
HIMC himc = ImmGetContext(this->m_hWnd);
ImmSetOpenStatus(himc, FALSE);
keyboard_layout= L"00000409";
LoadKeyboardLayout(keyboard_layout, KLF_ACTIVATE);
Это отключит IME при вводе поля редактирования и установит язык на английский
На Убить Фокус —
HIMC himc = ImmGetContext(this->m_hWnd) ;
ImmSetOpenStatus(himc, TRUE);
Это установит IME, когда мы выйдем из окна редактирования.
Других решений пока нет …