即効テクニック |
● 概要 ● フォーム上で任意のコントロールにフォーカスがある状態でキーを押すと、通常はフォーカスのあるコントロールのキーボードイベントが発生します。 しかし、フォームの[キーボードイベント取得]プロパティを「はい」に設定すると、フォーカスのあるコントロールより先に、フォームがキーボードイベントを取得します。 そこで、フォームの[キークリック時]イベントプロシージャに、ファンクションキーに対応する処理を記述すると、フォーカスがどのコントロールにある場合でも、ファンクションキーを押すことで目的の処理を実行できます。 サンプルは、フォーム上の[cmdFilt]ボタンのクリック時イベントプロシージャと[F3]キー、[cmdShAll]ボタンのクリック時イベントプロシージャと[F4]キーを対応させています。 ボタンをクリックしてもファンクションキーを押しても同じ処理が行われます。 ● サンプル ● 'フォームの[キーボードイベント取得]プロパティを「はい」に'設定してから実行 'フォームの[キークリック時]プロパティにイベントプロシージャを作成 '押されたキーに対応する処理を記述 Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode '[F3]キーが押されたとき Case vbKeyF3 '以下のプロシージャを呼び出す Call cmdFilt_Click '[F4]キーが押されたとき Case vbKeyF4 '以下のプロシージャを呼び出す Call cmdShAll_Click End Select End Sub