BACK TOP

Entries

VBA : マウス右クリックでショートカットメニューを表示させない


ACCESSのフォームのテキストボックスやコマンドボタンなどのコントロールを右クリックした時にショートカットメニューを表示させないようにする方法です。




フォームに設置したコントロールの「マウスボタン解放時」(MouseUp)のイベントを以下のVBAにします。

Private Sub コントロール名_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button = acRightButton Then ' acRightButton = 2
DoCmd.CancelEvent
End If

End Sub


仕込むイベントは「マウスボタンクリック時」(MouseDown)ではないことに注意してください。

実際に動作させればわかるのですが、マウス右ボタンを離したときにショートカットメニューは現れます。


備考

とにかく右ボタンについて感知させたければ、値をマスクする方法の
If Button And acRightButton <> 0 Thenとなるのでしょうか。

ただ、当方環境ではマウスボタンのクリックは左(acLeftButton=1) と右(acRightButton=2)でしか取得できませんでした。
左右同時に押すと Button の値は acLeftButton + acRightButton = 3 になるものだと思ってました。

中ボタン(acMiddleButton = 4)はオートスクロールモードになってしまい、値の取得は出来ませんでした。

('(⊥)')
スポンサーサイト



この記事にトラックバックする(FC2ブログユーザー)
http://blogwizhook.blog.fc2.com/tb.php/219-911fca0e

コメント

コメントの投稿

コメントの投稿
管理者にだけ表示を許可する

トラックバック

Appendix

-楽天-

月別アーカイブ

B.WH

ブロとも申請フォーム

この人とブロともになる

プロフィール

B.WH ('(⊥)')

Author:B.WH ('(⊥)')
Blog WizHook (for MS-ACCESS)