Compartilhar via


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 utilizador premir a tecla "L" enquanto mantém premida a tecla Shift, em resposta ao evento KeyPress , o ToString poderá devolver

713; 0; 4; 76; Desenho1

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

código de evento ; Valor da propriedade do botão ; Valor da propriedade KeyButtonState ; valor da propriedade x ; valor da propriedade y ; 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 utilizador clicou no botão esquerdo do rato junto ao meio da página de desenho enquanto mantém premida a tecla Shift, em resposta ao evento MouseDown , ToString poderá devolver

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

Para obter mais informações sobre os valores possíveis devolvidos por cada uma das propriedades individuais representadas pela cadeia devolvida por ToString, veja os respetivos 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 que são 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 elimina este objeto evento quando o programa terminar de o utilizar.

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 ( strMessage ) que contém o nome e o código de evento do evento que foi acionado. 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.