Bug 4253 [WXG] テキストボックスへの入力が確定後も未確定文字として表示が残る #2
初回投稿日時: 2005年02月19日19時58分16秒
カテゴリ: Mozilla Core
SNS:
Tweet (list)
WXGで再現していたこのバグも1.8b1に修正が間に合った。
IMEのcomposition windowを利用せずに、独自描画のやり方を改めて調査してみたところ、その方法には二つのステップがあり、
WM_IME_SETCONTEXT
で、lParamからISC_SHOWUICOMPOSITIONWINDOW
を取り除くWM_IME_COMPOSITION
を適切に処理し、デフォルトウインドウプロシージャへ渡さない
ということのようだ。
要するに、IMEの未確定文字列が何らかの変更を受けるときに、デフォルトウインドウプロシージャに処理を任せてしまうと、その時点でcomposition windowが表示されてしまうし、それを消すこともできない。(ひょっとするとそのウインドウハンドルを取得していじれるのかもしれないが、やり方が分からない)
そのため、WXGの様に他のIMEとは異なり、勝手にcompsition windowを表示されてしまうと、手が付けられないし、元々、WM_IME_COMPOSITION
もWM_IME_ENDCOMPOSITION
もデフォルトウインドウプロシージャに渡していないので、それを消すタイミングをWXGの方もつかめなくなっていたわけだ。(でも、現在の挙動だと、フローティングウインドウ上に同じ内容が出て、適切に消えるのでWXGの単なるバグのような気もする。)
とりあえず、今回の件により、WXGのナビキャレットをキャレット位置に表示する、ということはできなくなってしまった。