スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

コントロールにフォーカスがあったら矢印キーは反応しない

OnKey系イベントで矢印ボタンを制御しようとしたが、“制御できるとき”と“できないとき”があって、とてもなぞだった。
調べてみると、「矢印ボタンは、コントロール系オブジェクトにフォーカスがある場合はイベントを発生させない、反応しない」ということが判明。
最初は、すべてのキーイベントをフォームに集めるKeyPreviewの設定方法に問題があるものかと四苦八苦、、、結局、ぜんぜん関係ないところに原因があった。

対策は、フォームにピクチャボックスを置いて、常にそこにフォーカスを置いておくことで解決。ピクチャボックスにフォーカスがあるときに矢印キーをおしたら、無事にOnKey系イベントでキャッチできた。

ちなみに、ピクチャボックスに常にフォーカスを置いておくやりかたは、以下のような感じ。


Private Sub Form_Activate()
pic.SetFocus
End Sub
Private Sub pic_LostFocus()
pic.SetFocus
End Sub
スポンサーサイト

トラックバック

コメント

コメントを残す

Secret



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。