fix the strange behavior of Korean ime composition window.

Because Hangul is a combination character, WM_IME_STARTCOMPOSITION is only called once when the IME input is started, so the position of the composition window is strange.

Therefore, I solved the problem by controlling the state of characters combined using WM_IME_COMPOSITION and WM_IME_CHAR.

We have also improved to support other IME languages such as Chinese and Japanese.
This commit is contained in:
이지한
2019-08-01 15:24:46 +09:00
parent de9043e223
commit 129b83e68f
13 changed files with 152 additions and 12 deletions

View File

@@ -621,6 +621,13 @@ namespace nana
API::dev::lazy_refresh();
}
void drawer::key_ime(graph_reference, const arg_ime& arg)
{
impl_->editor()->respond_ime(arg);
if (impl_->editor()->try_refresh())
API::dev::lazy_refresh();
}
void drawer::key_press(graph_reference, const arg_keyboard& arg)
{
if (impl_->editor()->respond_key(arg))