Share via


Propriedade MouseEvent.ToString (Visio)

Retorna uma sequência de texto que representa as propriedades de um objeto KeyboardEvent ou MouseEvent. Somente leitura.

Sintaxe

expressão. Tostring

Expressão Uma variável que representa um objeto MouseEvent .

Valor de retorno

Cadeia de caracteres

Comentários

ToString é a propriedade padrão de ambos objetos KeyboardEvent e MouseEvent.

Quando um evento KeyDown, KeyPress ou KeyUp é disparado, a propriedade ToString retorna uma sequência de texto que representa as propriedades do objeto KeyboardEvent que passa por VisEventProc. A sequência de texto possui o seguinte formato:

código de evento ; Valor da propriedade KeyCode ; Valor da propriedade KeyButtonState ; Valor da propriedade KeyAscii ; Window.Caption

onde código de eventos retorna o código do evento disparado e Window.Caption retorna a legenda da janela que originou o evento. Por exemplo, se um usuário pressionasse a tecla "L" enquanto segurava a tecla Shift, em resposta ao evento KeyPress , o ToString poderá retornar

713;0;4;76;Desenho1

Quando um evento MouseDown, MouseMove ou MouseUp é acionado, a propriedade ToString retorna uma cadeia de caracteres que representa as propriedades do objeto MouseEvent que é passado para VisEventProc. A sequência de texto possui o seguinte formato:

código de evento ; Valor da propriedade button; Valor da propriedade KeyButtonState ; x valor da propriedade; y valor da propriedade; Window.Caption

onde código de eventos retorna o código do evento disparado e Window.Caption retorna a legenda da janela que originou o evento. Por exemplo, se um usuário clicasse no botão esquerdo do mouse perto do meio da página de desenho enquanto segurava a tecla Shift, em resposta ao evento MouseDown , ToString poderia retornar

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

Para obter mais informações sobre os possíveis valores retornados por cada uma das propriedades individuais representadas pela cadeia de caracteres retornada pelo ToString, consulte os respectivos tópicos de propriedade nesta referência.

Exemplo

O seguinte exemplo do Microsoft Visual Basic for Applications (VBA) mostra como usar o método AddAdvise para criar um objeto Event que irá coletar um evento MouseDown. Ele usa a propriedade ToString do objeto MouseEvent para relatar os detalhes do evento disparado.

O exemplo contém um módulo de classe e dois procedimentos públicos inseridos no projeto ThisDocument do documento ativo do Visio:

  • O procedimento CreateEventObject cria uma instância de uma classe de objeto coletor (manipulação de eventos) chamada clsEventSink que passa para o método AddAdvise e recebe notificações de eventos. Além disso, o procedimento cria um objeto Event para enviar notificações de disparos do evento MouseDown originado pelo objeto Application para o objeto coletor.

  • O procedimento DeleteEventObject exclui esse objeto Event quando seu programa é concluído usando-o.

A classe clsEventSink implementa a interface IVisEventProc. O módulo de classe cria uma classe para manipular eventos disparados pelo objeto Application do Visio. O módulo consiste da função VisEventProc, que usa um bloco Select Case para verificar o evento MouseDown. Quando um evento MouseDown é disparado, o Visio passa um objeto MouseEvent para VisEventProc como pSubjectObj. A função então constrói uma mensagem que exibe a sequência de texto retornada pela propriedade ToString do objeto MouseEvent passado para a função.

Outros eventos se encaixam no caso padrão (Case Else). O bloco Case Else constrói uma cadeia de caracteres ( strMessage ) que contém o nome e o código de evento do evento que foi disparado. Finalmente, a função exibe a sequência de caracteres na janela Immediate.

O exemplo supõe que há um documento ativo na janela do aplicativo Visio. Copie o seguinte código no projeto ThisDocument no Visual Basic Editor:

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

Copie o seguinte código em um novo módulo de classe no VBA, nomeando o módulo 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

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.