MouseEvent.ToString プロパティ (Visio)
KeyboardEvent オブジェクトまたは MouseEvent オブジェクトのプロパティを表す文字列を返します。 読み取り専用です。
構文
式。Tostring
式MouseEvent オブジェクトを表す変数。
戻り値
文字列
注釈
ToString は、KeyboardEvent および MouseEvent オブジェクトの既定のプロパティです。
KeyDown、KeyPress、または KeyUp イベントが送出されると、ToString プロパティは、VisEventProc に渡される KeyboardEvent オブジェクトのプロパティを示す文字列を返します。 文字列の形式は次のとおりです。
イベント コード 。 KeyCode プロパティ値。 KeyButtonState プロパティ値。 KeyAscii プロパティ値。 Window.Caption
ここで 、イベント コード は発生したイベントのコードを返し、 Window.Caption は イベントのソースとなるウィンドウのキャプションを返します。 たとえば、ユーザーが Shift キーを押しながら "L" キーを押した場合、 KeyPress イベントに応答して ToString が返される可能性があります。
713;0;4;76;Drawing1
MouseDown、MouseMove、または MouseUp イベントが発生すると、ToString プロパティは、VisEventProc に渡される MouseEvent オブジェクトのプロパティを表す文字列を返します。 文字列の形式は次のとおりです。
イベント コード 。 Button プロパティの値。 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 という名前のシンク オブジェクト (イベント処理) クラスのインスタンスを作成します。 さらに、プロシージャによって Event オブジェクトが作成され、Application オブジェクトによってソース化された MouseDown イベントの発生の通知がシンク オブジェクトに送信されます。
DeleteEventObject プロシージャは、プログラムの使用が完了すると、この Event オブジェクトを削除します。
clsEventSink クラスは、IVisEventProc インターフェイスを実装します。 クラス モジュールは、Visio Application オブジェクトによって発生するイベントを処理するクラスを作成します。 モジュールは VisEventProc 関数で構成され、 Select Case ブロックを使用して MouseDown イベントを確認します。 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 のサポートおよびフィードバックを参照してください。