構文
構文は以下の通りです。
Private Sub コマンドボタン名_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Shift = 1 Then
' Shiftキーが押された状態でクリックされた時の処理
End If
End Sub
If Shift = 1 Then
' Shiftキーが押された状態でクリックされた時の処理
End If
End Sub
解説
コマンドボタン名_MouseUpは、指定されたコマンドボタン(コマンドボタン名)がクリックされたときに発生します。Buttonは、クリックされたマウスのボタン(左、右、中)を示します。Shiftは、ShiftキーやCtrlキー、Altキーが押されているかどうかを示します。Shiftキーが押されている場合は1となります。X, Yは、クリックされた位置の座標です。
【Button値:どのマウスボタンがクリックされたかを示します】
値 | 内容 |
1 | 左ボタン |
2 | 右ボタン |
4 | 中央ボタン |
【Shift値:特定の修飾キー(Shift、Ctrl、Alt)が押されているかを確認できます】
値 | 内容 |
1 | Shiftキー |
2 | Ctrlキー |
4 | Altキー |
プログラミング例
具体的なプログラミング例を紹介します。
Private Sub 実行ボタン_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Shift = 1 Then
MsgBox "Shiftキーが押されました"
Else
MsgBox "Shiftキーが押されていません"
End If
End Sub
If Shift = 1 Then
MsgBox "Shiftキーが押されました"
Else
MsgBox "Shiftキーが押されていません"
End If
End Sub
上記のプログラムは、ボタン名を実行ボタンとし、Shiftキーが押されながらクリックされた場合にはメッセージボックスで「Shiftキーが押されました」と表示します。それ以外の場合には、「Shiftキーが押されていません」と表示されます。この仕組みにより、Shiftキーを押しながらの操作のみ特定の処理を実行することができます。
まとめ
フォーム内のボタンにShiftキーを押しながらクリックした場合のみ処理を実行するには、MouseUpイベントを使います。ShiftパラメータでShiftキーの押下状態を判定し、特定の処理を実行できます。