Propriedade KeyboardEvent.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 KeyboardEvent .
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.