MouseEvent.ToString プロパティ (Visio)

KeyboardEvent オブジェクトまたは MouseEvent オブジェクトのプロパティを表す文字列を返します。 読み取り専用です。

構文

ToString

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

戻り値

文字列

注釈

ToString は、KeyboardEvent および MouseEvent オブジェクトの既定のプロパティです。

KeyDownKeyPress、または KeyUp イベントが送出されると、ToString プロパティは、VisEventProc に渡される KeyboardEvent オブジェクトのプロパティを示す文字列を返します。 文字列の形式は次のとおりです。

イベント コード ; KeyCode プロパティ値; KeyButtonState プロパティ値; KeyAscii プロパティ値; Window.Caption

ここで、イベント コードは発生したイベントのコードを返し、Window.Caption はイベントのキャプションを返します。 たとえば、ユーザーが Shift キーを押しながら "L" キーを押した場合、 KeyPress イベントに応答して、 ToString が返される可能性があります

713;0;4;76;Drawing1

MouseDownMouseMove、または MouseUp イベントが発生すると、ToString プロパティは、VisEventProc に渡される MouseEvent オブジェクトのプロパティを表す文字列を返します。 文字列の形式は次のとおりです。

イベント コード ; ボタン プロパティの 値; KeyButtonState プロパティ値; x プロパティ値; y プロパティ値; Window.Caption

ここで、イベント コードは発生したイベントのコードを返し、Window.Caption はイベントのキャプションを返します。 たとえば、ユーザーが Shift キーを押しながら図面ページの中央付近にあるマウスの左ボタンをクリックした場合、 MouseDown イベントに応答して、 ToString が返される可能性があります

709;1;5;4.3750003+000;4.265000+000;Drawing1

ToString によって返される文字列によって表される個々のプロパティによって返される可能性のある値の詳細については、このリファレンスの各プロパティ トピックを参照してください。

次の Microsoft Visual Basic for Applications (VBA) の例は、AddAdvise メソッドを使用して、MouseDown イベントをシンクする Event オブジェクトを作成する方法を示しています。 また、MouseEvent オブジェクトの ToString プロパティを使用して、送出されたイベントの詳細をレポートします。

この例には、アクティブな Visio ドキュメントの ThisDocument プロジェクトに挿入されるクラス モジュールと 2 つのパブリック プロシージャが含まれています。

  • CreateEventObject プロシージャは、AddAdvise メソッドに渡され、イベントの通知を受け取る clsEventSink という名前のシンク オブジェクト (イベント処理) クラスのインスタンスを作成します。 さらに、このプロシージャでは、Application オブジェクトによって提供された MouseDown イベントの発生の通知をシンク オブジェクトに送信する Event オブジェクトを作成します。

  • DeleteEventObject プロシージャは、プログラムで使用が終了したら、この Event オブジェクトを削除します。

clsEventSink クラスは、IVisEventProc インターフェイスを実装します。 クラス モジュールは、Visio Application オブジェクトによって発生したイベントを処理するクラスを作成します。 このモジュールは、ケースの選択ブロックを使用して MouseDown イベントをチェックする VisEventProc 関数で構成されています。 MouseDown イベントが発生すると、Visio は MouseEvent オブジェクトを pSubjectObj として VisEventProc に渡します。 次に、関数は、関数に渡された MouseEvent オブジェクトの ToString プロパティによって返された文字列を表示するメッセージを構成します。

他のイベントは、既定のケース (Case Else) に分類されます。 Case Else ブロックは、発生したイベントの名前とイベント コードを含む文字列 (strMessage) を構築します。 最後に、関数が現在のウィンドウにその文字列を表示します。

この例は、Visio のアプリケーション ウィンドウに作業中のドキュメントがあることを前提としています。 次のコードを Visual Basic Editor の ThisDocument プロジェクトにコピーします。

Option Explicit 
 
Private mEventSink As clsEventSink 
 
'Declare visEvtAdd as a 2-byte value 
'to avoid a run-time overflow error 
Private Const visEvtAdd% = &H8000 
 
Public Sub CreateMouseDownEventObject() 
 
 Dim vsoApplicationEvents As Visio.EventList 
 Dim vsoMouseDownEvent As Visio.Event 
 
 'Create an instance of the clsEventSink class 
 'to pass to the AddAdvise method. 
 Set mEventSink = New clsEventSink 
 
 'Get the EventList collection of the application 
 Set vsoApplicationEvents = Application.EventList 
 
 'Add an Event object for the MouseDown event 
 'that will send notifications. 
 Set vsoMouseDownEvent= vsoApplicationEvents.AddAdvise( _ 
 visEvtCodeMouseDown, mEventSink, "", "Mouse down...") 
 
End Sub 
 
Public Sub DeleteMouseDownEventObject() 
 
 'Delete the Event object for the MouseDown event 
 vsoMouseDownEvent.Delete 
 Set vsoMouseDownEvent = Nothing 
 
End Sub

次のコードを VBA の新しいクラス モジュールにコピーし、clsEventSink というモジュール名を付けます。

Implements Visio.IVisEventProc 
 
Private Function IVisEventProc_VisEventProc( _ 
 ByVal nEventCode As Integer, _ 
 ByVal pSourceObj As Object, _ 
 ByVal nEventID As Long, _ 
 ByVal nEventSeqNum As Long, _ 
 ByVal pSubjectObj As Object, _ 
 ByVal vMoreInfo As Variant) As Variant 
 
 Dim strMessage As String 
 Dim vsoMouseDownEvent As Visio.MouseEvent 
 
 'Find out which event fired 
 Select Case nEventCode 
 Case visEvtCodeMouseDown 
 Set vsoMouseEvent = pSubjectObj 
 strMessage = "ToString is: " & vsoMouseEvent.ToString 
 Case Else 
 strMessage = "Other (" & nEventCode & ")" 
 End Select 
 
 'Display the event name and the event code 
 Debug.Print strMessage 
 
End Function

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

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