次の方法で共有


MouseEvent.KeyButtonState プロパティ (Visio)

マウス ボタンの状態と、マウス イベントに関連付けられている Shift キーと Ctrl キーを返します。 読み取り専用です。

構文

KeyButtonState

MouseEvent オブジェクトを表す変数。

戻り値

Long

注釈

KeyButtonState に使用できる値は、Visio タイプ ライブラリの VisKeyButtonFlags で宣言されている次の表に示す値の組み合わせです。 たとえば、 KeyButtonState が 9 を返した場合、ユーザーが Ctrl キーを押しながらマウスの左ボタンをクリックしたことを示します。

定数
visKeyControl 8
visKeyShift 4
visMouseLeft 1
visMouseMiddle 16
visMouseRight 2

次のクラス モジュールは、MouseListener という名前のシンク クラスを定義する方法を示しており、作業中のウィンドウでのマウス操作によって発生したイベントをリッスンします。 このクラス モジュールでは、WithEvents キーワードを使用してオブジェクト変数 vsoWindow が宣言されています。 クラス モジュールには、 MouseDown イベントのイベント ハンドラーも含まれています。イミディエイト ウィンドウには、イベントが発生したときにマウス ボタンと Ctrl キーと Shift キーの状態が出力されます。

この例を実行するには、VBA プロジェクトに新しいクラス モジュールを挿入し、 MouseListener という名前を付けて、モジュールに次のコードを挿入します。

Dim WithEvents vsoWindow As Visio.Window 
 
Private Sub Class_Initialize() 
 
 Set vsoWindow = ActiveWindow 
 
End Sub 
 
Private Sub Class_Terminate() 
 
 Set vsoWindow = Nothing 
 
End Sub 
 
Private Sub vsoWindow_MouseDown(ByVal Button As Long, ByVal KeyButtonState As Long, ByVal x As Double, ByVal y As Double, CancelDefault As Boolean) 
 
 Debug.Print "KeyButtonState is"; KeyButtonState 
 
End Sub

次に、 ThisDocument プロジェクトに次のコードを挿入します。

Dim myMouseListener As MouseListener 
 
Private Sub Document_DocumentSaved(ByVal doc As IVDocument) 
 
 Set myMouseListener = New MouseListener 
 
End Sub 
 
Private Sub Document_BeforeDocumentClose(ByVal doc As IVDocument) 
 
 Set myMouseListener = Nothing 
 
End Sub

クラスを初期化するためにドキュメントを保存し、アクティブ ウィンドウ内の任意の場所 (必要に応じて Shift キーまたは Ctrl キーを押しながら) をクリックして 、MouseDown イベントを発生させます。 イミディエイト ウィンドウに、クリックされてイベントが発生したマウス ボタンの名前が表示されます。 いずれかのキーまたは両方のキーを押した場合は、押したキーまたはキーの名前も印刷されます。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。