F10キーが巧く反応しない

解決


Kenny  2009-11-21 04:09:25  No: 36217

フォームにラベルを1枚だけ貼り付け、フォームのKeyPreviewをtrueに設定
した状態で、フォームのOnKeyDownイベントに
if Key=VK_F10 then Label1.Caption:=TimeToStr(Now)
としたのですが、F10キーを押しても正確に2回に1回しか反応しません。
F1からF9とF11、F12キーは大丈夫ですし、F10を押した後、他のTABキーなどを
押してからF10を押すと反応します。どうもF10を2回続けて押せないよう
なのですが、何かヒントないでしょうか。デバッガから起動しても、EXEを
直接走らせても同じです。


tor  2009-11-21 05:55:41  No: 36218

F10はAltキーと同じで、メニューをアクティブにするキーとして予約されています。
見た目わかりにくいですが、一回押した時点でメニューモードになっており
Spaceを押せばシステムメニューが表示されるはずです。もう一回押すと解除されます。

簡単な対策は「システムメニューを外す」ですが、おそらくそれでは困ると思うので……
ActionListを貼り付けて、適当なアクションを追加してShortCutをF10にしてやるのはどうでしょう。


monaa  2009-11-21 06:06:28  No: 36219

そっち系のキー取得ならWM_SYSKEYDOWNです。
http://www.geocities.jp/ky_webid/win32c/025.html


Kenny  2009-11-21 07:22:07  No: 36220

torさん、monaaさん、ありがとうございます。メニューショートカットは気が付きませんでした。たまたまメニューがないアプリだったもので。
原因が分かれば対策は何とかなると思いますが、torさんのアイデアのActionListのActionExecuteで呼ぶのが簡単ですね。


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

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






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