Form.KeyPreview プロパティ (Access)
KeyPreview プロパティを使用して、コントロールのキーボード イベント プロシージャの前にフォーム レベルのキーボード イベント プロシージャを呼び出すかどうかを指定します。 読み取り/書き込みが可能な Boolean です。
構文
式。KeyPreview
expressionForm オブジェクトを表す変数です。
注釈
"KeyPreview/キーボードイベント取得" プロパティの設定値は次のとおりです。
Setting | Visual Basic | 説明 |
---|---|---|
はい | True | フォームは最初にキーボード イベントを受け取り、次にアクティブなコントロールはキーボード イベントを受け取ります。 |
いいえ | False | アクティブなコントロールだけがキーボード コントロールを受け取ります。(既定値) |
" KeyPreview /キーボードイベント取得" プロパティ" プロパティは、どのビューでも設定できます。
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
' Process F2 key events.
Case vbKeyF3
' Process F3 key events.
Case vbKeyF4
' Process F4 key events.
Case Else
End Select
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。