\"KeyPreview/キーボードイベント取得\" プロパティ
Microsoft Access Visual Basic のリファレンス |
\"KeyPreview/キーボードイベント取得\" プロパティ
コントロール キーボード イベント プロシージャを呼び出す前にフォーム レベルのキーボードのイベント プロシージャを呼び出すかどうかを示します。値の取得および設定が可能です。ブール型 (Boolean) の値を使用します。
expression.KeyPreview
expression 必ず指定します。このトピックの [対象] をクリックして表示される Access オブジェクトのうちの 1 つを返すオブジェクト式を指定します。
解説
"KeyPreview/キーボードイベント取得" プロパティの設定値は次のとおりです。
設定値 | Visual Basic | 内容 |
---|---|---|
Yes/はい | True | まず、フォームがキーボード イベントを受け取り、次に、アクティブなコントロールがキーボード イベントを受け取ります。 |
No/いいえ | False | アクティブなコントロールだけがキーボード コントロールを受け取ります。(既定値) |
メモ このプロパティを設定するには、フォームのプロパティ シート、マクロ、または Visual Basic を使用します。
このプロパティは、どのビューでも設定できます。
"KeyPreview/キーボードイベント取得" プロパティを使用すると、フォーム用のキーボード処理プロシージャを作成できます。たとえば、アプリケーションがファンクション キーを使用する場合、"KeyPreview/キーボードイベント取得" プロパティに True を設定すると、キーストローク イベントを受け取るコントロールごとにコードを作成する代わりに、フォーム レベルでキーストロークを処理することができます。
フォーム レベルでのみキーボード イベントを処理し、コントロールではキーボード イベントを受け取らないようにするには、フォームの KeyPress イベント プロシージャで引数 KeyAscii に 0 を設定し、かつ、フォームの KeyDown イベントおよび KeyUp イベント プロシージャで引数 KeyCode に 0 を設定します。
フォームにコントロールが表示されていない場合、または有効なコントロールがない場合、フォームは自動的にすべてのキーボード イベントを受け取ります。
使用例
次の使用例では、フォームの Load イベント プロシージャの中で "KeyPreview/キーボードイベント取得" プロパティに True を設定します。これによって、まず、フォームがキーボード イベントを受け取り、次に、コントロールがキーボード イベントを受け取ります。フォームの KeyDown イベント プロシージャでは、引数 KeyCode の値によって、F2、F3、または F4 キーが押されたかどうかが判断されます。
Private Sub Form_Load()
Me.KeyPreview = True
End Sub
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyF2
' F2 キー イベントを処理します。
Case vbKeyF3
' F3 キー イベントを処理します。
Case vbKeyF4
' F4 キー イベントを処理します。
Case Else
End Select
End Sub