Compartir a través de


Propiedad KeyboardEvent.ToString (Visio)

Devuelve una cadena que representa las propiedades de un objeto KeyboardEvent o MouseEvent. Solo lectura.

Sintaxis

expresión. Tostring

Expresión Variable que representa un objeto KeyboardEvent .

Valor devuelto

Cadena

Comentarios

ToString es la propiedad predeterminada de los objetos KeyboardEvent y MouseEvent.

Cuando se desencadena un evento KeyDown, KeyPress o KeyUp, la propiedad ToString devuelve una cadena que representa las propiedades del objeto KeyboardEvent que se pasa a VisEventProc. La cadena tiene la siguiente forma:

código de evento ; Valor de la propiedad KeyCode ; Valor de la propiedad KeyButtonState ; Valor de la propiedad KeyAscii ; Window.Caption

donde código de evento devuelve el código del evento que se ha desencadenado y Window.Caption devuelve el título de la ventana en la que se ha originado el evento. Por ejemplo, si un usuario presiona la tecla "L" mientras mantiene presionada la tecla Mayús, en respuesta al evento KeyPress , Es posible que ToString devuelva

713;0;4;76;Dibujo1

Cuando se desencadena un evento MouseDown, MouseMove o MouseUp , la propiedad ToString devuelve una cadena que representa las propiedades del objeto MouseEvent que se pasa a VisEventProc. La cadena tiene la siguiente forma:

código de evento ; Valor de la propiedad Button; Valor de la propiedad KeyButtonState ; valor de la propiedad x; valor de la propiedad y; Window.Caption

donde código de evento devuelve el código del evento que se ha desencadenado y Window.Caption devuelve el título de la ventana en la que se ha originado el evento. Por ejemplo, si un usuario hace clic en el botón izquierdo del mouse cerca del centro de la página de dibujo mientras mantiene presionada la tecla Mayús, en respuesta al evento MouseDown , Es posible que ToString devuelva

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

Para obtener más información sobre los posibles valores devueltos por cada una de las propiedades individuales representadas por la cadena devuelta por ToString, vea los temas de propiedades correspondientes en esta referencia.

Ejemplo:

Esta macro de Microsoft Visual Basic para Aplicaciones (VBA) muestra cómo utilizar el método AddAdvise para crear un objeto Event que recibirá un evento MouseDown. Utiliza la propiedad ToString del objeto MouseEvent para devolver los detalles del evento desencadenado.

El ejemplo contiene un módulo de clase y dos procedimientos públicos que se insertan en el proyecto ThisDocument del documento activo de Visio:

  • El procedimiento CreateEventObject crea una instancia de una clase (de control de eventos) de objetos receptores denominada clsEventSink que se pasa al método AddAdvise y que recibe notificaciones de los eventos. Además, el procedimiento crea un objeto Event para enviar notificaciones del desencadenamiento del evento MouseDown originado por el objeto Application al objeto receptor.

  • El procedimiento DeleteEventObject elimina este objeto Event cuando el programa termina de usarlo.

La clase clsEventSink implementa la interfaz IVisEventProc. El módulo de clase crea una clase para controlar los eventos desencadenados por el objeto Application de Visio. El módulo se compone de la función VisEventProc, que usa un bloque Select Case para comprobar la existencia del evento MouseDown. Cuando se desencadena un evento MouseDown, Visio pasa un objeto MouseEvent a VisEventProc como pSubjectObj. A continuación, la función crea un mensaje que muestra la cadena devuelta por la propiedad ToString del objeto MouseEvent pasado a la función.

Los demás eventos se procesan en el bloque predeterminado Case Else. El bloque Case Else crea una cadena ( strMessage ) que contiene el nombre y el código de evento del evento que se ha desencadenado. Finalmente, la función muestra la cadena en la ventana Inmediato.

En el ejemplo se supone que hay un documento activo en la ventana de Visio. Copie el código siguiente en el proyecto ThisDocument en el Editor de Visual Basic:

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 el código siguiente en un nuevo módulo de clase de VBA y asígnele el nombre 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

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.