漢字変換モードでの矢印キーの動作について

解決


うみぼうず  2003-12-15 18:52:08  No: 6195

はじめまして。
いきなりですみませんがご質問があります。

フォーカス移動を矢印キーの上下でも行えるように
OnKeyUp時に下記のように処理を行っています。

If Key = Vk_Down Then SelectNext(TWinControl(Sender),True,True)
Else If Key = Vk_Up Then SelectNext(TWinControl(Sender),False,True);

TEditなどでの漢字変換モード時に矢印の上下で選択を行うと
上記の処理が走ってしまって動作がおかしくなってしまいます。
この場合、どのようにすればよいのでしょうか?
不可能な場合、
漢字変換モードになっているか
もしくは
入力文字が確定されていない
といった情報が取得できるのでしょうか?
すみませんが、よろしくお願いします。


Halbow  2003-12-15 23:48:58  No: 6196

Halbow です。

>漢字変換モードになっているか
>もしくは
>入力文字が確定されていない
>といった情報が取得できるのでしょうか?

特定のコントロールについてだけなら、MLの過去ログ

IME の状態
http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=072207

が参考になります。そうでなく、アプリで使っているIMEをつかうコントロール
すべてについて判断したいときは、ローカルフックが必要です。

http://www2.big.or.jp/~osamu/Delphi/delphi-browse.cgi?index=075841

ここを参考にして、WM_IME_ENDCOMPOSITION  と  WM_IME_COMPOSITION  を
捕まえて判断します。


うみぼうず  2003-12-17 02:16:15  No: 6197

Halbowさんどうもありがとうございました。

解決しました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加