パスワードを忘れた? アカウント作成
656871 journal

Ab.の日記: 特定の EDIT control だけ IME を殺してみる

日記 by Ab.
MSDN Lib. 調べて、こんな感じにさくっと書いてみる。

HIMC hImc = ImmCreateContext();
ImmAssociateContext(hWndEdit, hImc);
ImmSetConversionStatus(hImc, IME_CMODE_ALPHANUMERIC, IME_SMODE_NONE);

で、試してみたら IME2000 とか Win98SE+IME98(かな?) は期待通りの動作になるのに、VJE だけが何故か同じダイアログの他の Edit control での入力モードが半角文字入力モードに…
色々試してみた結果、最後の ImmSetConversionStatus() を行わず、ImmCreateContext(), ImmAssociateContext() だけでもそうなってしまう模様。
検索してみると 同じことで悩んでる人がいて、解決出来たかどうかは不明だけど、とりあえずやっぱり VJE がちょっと変らしい…

どうしたもんだべなーと MSDN Lib. を検索しまくってるとマイクロソフト サポート技術情報 - 416204 [SDK32]エディットボックスの読み取り専用解除後IMEの無効化が解除される を発見。
む、ImmAssociateContext(hWnd, NULL); だけで IME 無効化されるのか。
ということで試してみたらばっちりだったので めでたしめでたしなんだけど…
ここまでたどり着くのに何時間かかったかは、ちょっと教えられんなぁ!(ぉ

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

ソースを見ろ -- ある4桁UID

読み込み中...