#085 KeyPreview

"KeyPreview/キーボードイベント取得" プロパティ

フォームがキーボードイベントを受け取るかどうかを設定します。

Trueに設定した場合、フォーカスが特定のコントロールにある場合でも、フォームに設定されたキーボード関連のイベントが優先的に発生するようになります。たとえば、フォームのキークリック時イベントプロシージャがモジュールに記述されている場合、フォーム上のどこにフォーカスがあっても、そのイベントプロシージャを実行させることができます。

一方、このプロパティがFalseの場合、フォーカスがあるコントロールのイベントが優先されるため、フォームのキーボード関連のイベントプロシージャは実行されません。

フォーム

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'フォームのキークリック時

  If KeyCode = vbKeyF2 Then
    Beep
    MsgBox "F2キーが押されました!", vbOKOnly + vbInformation
  End If

End Sub

Private Sub fraProperty_AfterUpdate()
'[プロパティの設定]オプショングループの更新後処理

  With Me
    Select Case Me!fraProperty
      Case 1
        'キーボードイベントを受け付ける
        .KeyPreview = True
      Case 2
        'キーボードイベントを受け付けない
        .KeyPreview = False
    End Select
  End With

End Sub
  • このフォームのモジュールには、フォームのキークリック時イベントプロシージャが記述されています。KeyPreviewがTrueのときはキーボード操作によってそのイベントプロシージャが呼び出され、F2キーを押した場合には下図のようなメッセージが表示されます。一方、Falseの場合は何も起こりません。
| Index | Prev | Next |

 

Copyright © T'sWare All rights reserved