#393 | ボタンの右クリックでショートカットメニューを表示させない方法 | フォーム、VBA | |
コマンドボタンにおいては、左ボタンのクリックによって処理を実行させる「クリック時イベント」が通常もっともよく使われますが、「マウスボタンクリック時」イベントを使うことによって、右ボタンがクリックされたときだけ、特定の処理を実行させることができます。 一方、Accessの基本的な機能として、マウスの右クリックは"ショートカットメニューの表示"を行うことになっています。そのため、オリジナルの処理をさせたい場合にも、その処理の実行とともにショートカットメニューも表示されてしまうという問題が起きます。 そのような場合、Docmdオブジェクトの「CancelEvent」メソッドを用いることで、一連のオリジナルの処理を実行させるだけで、ショートカットメニューは表示させないようにすることができます。このメソッドを実行することによって、このイベントプロシージャを呼び出すイベントが発生しなかったことになります。つまり右ボタンがクリックされなかったことになり、ショートカットメニューも表示されません。ただし、それをイベントプロシージャの先頭で実行しても、以降のコードは通常通り実行されます。 コード例: Private Sub cmd実行_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) '[実行]マウスボタンクリック時 'イベントをキャンセルしてショートカットメニューを表示させない DoCmd.CancelEvent If Button = acRightButton Then '右クリック時のみ処理を実行 '**************************** ' ここで一連の処理 '**************************** End If End If End Sub |
|||
|
Copyright © T'sWare All rights reserved |