winapi — Функции менеджера методов ввода — правильный порядок вызовов для списка кандидатов от Хираганы до Кандзи c ++ covnersion

Я пытаюсь преобразовать символы хиараганы в список кандидатов (кандзи). Похоже, это должно быть возможно с использованием функций диспетчера методов ввода, но это не работает, как я ожидал.
Я установил пакет японского языка, и я могу открыть IME в текстовом редакторе, поэтому некоторые функции должны быть включены.

В SRC у нас есть что-то вроде:

HIMC context = ImmCreateContext();//non-NULL result
bool result = ImmSetOpenStatus(context, true);//result == true
std::wstring wstr = L"こいび";//Hiragana string for conversion
result = ImmSetConversionStatus(context, IME_CMODE_JAPANESE, IME_SMODE_NONE);//result == true
result = ImmSetCompositionString(context, SCS_SETSTR, (LPVOID)wstr.c_str(), wstr.length(), NULL, 0);//result == true
DWORD listCount = 0;
DWORD lpdResult = 0;
lpdResult = ImmGetCandidateListCount(context, &listCount);//listCount == 0, lpdResult  == 144

Похоже, это работает как-то, но я всегда получаю похожие результаты (я проверил его на наличие стандартных букв, более короткой строки JPN и путем создания std :: string + преобразования в wstring).
К сожалению, я не нашел пример, связанный с этим, так что, возможно, я не позвонил или что-то назвал в неправильном порядке.
Документация MS содержит не слишком много подробностей об этом, поэтому я не уверен, что не так.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]