はじめまして。
いきなりですみませんがご質問があります。
フォーカス移動を矢印キーの上下でも行えるように
OnKeyUp時に下記のように処理を行っています。
If Key = Vk_Down Then SelectNext(TWinControl(Sender),True,True)
Else If Key = Vk_Up Then SelectNext(TWinControl(Sender),False,True);
TEditなどでの漢字変換モード時に矢印の上下で選択を行うと
上記の処理が走ってしまって動作がおかしくなってしまいます。
この場合、どのようにすればよいのでしょうか?
不可能な場合、
漢字変換モードになっているか
もしくは
入力文字が確定されていない
といった情報が取得できるのでしょうか?
すみませんが、よろしくお願いします。
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 を
捕まえて判断します。
Halbowさんどうもありがとうございました。
解決しました。
ツイート | ![]() |