Windows.MouseMove イベント (Visio)

マウスを移動したときに発生します。

構文

MouseMove (Button, KeyButtonState, x, y, CancelDefault)

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

パラメーター

名前 必須 / オプション データ型 説明
Button 必須 Long クリックされたマウス ボタンです。 設定できる値は VisKeyButtonFlags で宣言されています。
KeyButtonState 必須 Long イベントのマウス ボタンと Shift キー、Ctrl キーの状態。 設定できる値は、 VisKeyButtonFlags で宣言されている値の組み合わせにすることができます。 たとえば、 KeyButtonState が 9 を返す場合は、ユーザーが Ctrl キーを押しながらマウスの左ボタンをクリックしたことを示します。
x 必須 倍精度浮動小数点型 (Double) マウス ポインターの x 座標です。
y 必須 倍精度浮動小数点型 (Double) マウス ポインターの y 座標です。
CancelDefault 必須 ブール型 (Boolean) Microsoft Visio がこのイベントから受け取ったメッセージを処理する必要がある場合は False、それ以外の場合は True です。

注釈

CancelDefaultTrue に設定すると、マウス ボタンがクリックされたときに受け取ったメッセージは処理されません。

他の一部の Visio イベントとは異なり、 MouseMove には Query というプレフィックスがありませんが、クエリ イベントであることに変わりはありません。 つまり、CancelDefaultTrue に設定するか、VisEventProc メソッドを使用してイベントを処理している場合は True を返すことによって、MouseMove によって送信されたメッセージの処理を取り消すことができます。 詳細については、この『Visio オートメーション リファレンス』の VisEventProc メソッドとクエリ イベント (QueryCancelSuspend イベントなど) のトピックを参照してください。

Microsoft Visual Basic または Visual Basic for Applications (VBA) を使用している場合、このトピックの構文を使用して、イベントを一般的な方法で効率的に処理できます。

独自の Event オブジェクトを作成する場合は、 Add または AddAdvise メソッドを使用します。

アドオンを実行する Event オブジェクトを作成するには、EventList コレクションに対して Add メソッドを使用します。

通知を受け取る Event オブジェクトを作成するには、AddAdvise メソッドを使用します。

作成するイベントのイベント コードについては、「イベント コード」を参照してください。

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

この例を実行するには、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) 
 
 If Button = 1 Then 
 
 Debug.Print "Left mouse button clicked" 
 
 ElseIf Button = 2 Then 
 
 Debug.Print "Right mouse button clicked" 
 
 ElseIf Button = 16 Then 
 
 Debug.Print "Center mouse button clicked" 
 
 End If 
 
End Sub 
 
Private Sub vsoWindow_MouseMove(ByVal Button As Long, ByVal KeyButtonState As Long, ByVal x As Double, ByVal y As Double, CancelDefault As Boolean) 
 
 Debug.Print "x-position is "; x 
 Debug.Print "y-position is "; y 
 
End Sub 
 
Private Sub vsoWindow_MouseUp(ByVal Button As Long, ByVal KeyButtonState As Long, ByVal x As Double, ByVal y As Double, CancelDefault As Boolean) 
 
 If Button = 1 Then 
 
 Debug.Print "Left mouse button released" 
 
 ElseIf Button = 2 Then 
 
 Debug.Print "Right mouse button released" 
 
 ElseIf Button = 16 Then 
 
 Debug.Print "Center mouse button released" 
 
 End If 
 
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

図面を保存してクラスを初期化し、アクティブ ウィンドウ内でマウスを少し移動して、一連の MouseMove イベントを発生させます。 イミディエイト ウィンドウに、MouseMove イベントが発生したときのマウスの位置に対応する x 座標と y 座標の値の組み合わせの一覧が出力されます。

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

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