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.