Evento Application.KeyUp (Visio)
Se produce cuando se suelta una tecla del teclado.
Sintaxis
expresión. KeyUp (KeyCode, KeyButtonState, CancelDefault)
expresión Variable que representa un objeto Application.
Parámetros
Nombre | Obligatorio/opcional | Tipo de datos | Descripción |
---|---|---|---|
KeyCode | Obligatorio | Long | Tecla que se ha soltado. Los valores posibles se declaran en constantes keycode. |
KeyButtonState | Necesario | Long | Estado de las teclas Mayús y Ctrl del evento. Puede ser una combinación de los valores declarados en VisKeyButtonFlags. Por ejemplo, si KeyButtonState devuelve 12, indica que el usuario mantiene presionadas las teclas Mayús y Ctrl. |
CancelDefault | Obligatorio | Boolean | Su valor es False si Microsoft Visio va a procesar el mensaje que recibe de este evento; en caso contrario, es True. |
Comentarios
Si establece CancelDefault en True, Visio no procesará el mensaje recibido cuando se haga clic en el botón del mouse.
A diferencia de otros eventos de Visio, KeyUp no tiene el prefijo Query, pero es un evento de consulta. Es decir, puede cancelar el procesamiento del mensaje enviado por KeyUp, ya sea estableciendo CancelDefault en True, o bien, si usa el método VisEventProc para controlar el evento, devolviendo True. Para obtener más información, vea los temas referentes al método VisEventProc y a cualquiera de los eventos de consulta (por ejemplo, el evento QueryCancelSuspend) en esta referencia.
Si utiliza Microsoft Visual Basic o VBA, la sintaxis de este tema describe una forma común y eficaz de controlar los eventos.
Si desea crear sus propios objetos Event , use el método Add o AddAdvise .
Para crear un objeto Event que ejecute un complemento, use el método Add, ya que se aplica a la colección EventList.
Para crear un objeto Event que reciba notificaciones, use el método AddAdvise.
Para encontrar un código de evento para el evento que desea crear, vea el tema sobre los códigos de evento.
Ejemplo:
Este módulo de clase muestra cómo definir una clase de sincronización denominada KeyboardListener que escucha eventos desencadenados por acciones de teclado en la ventana activa. Declara la variable de objeto vsoWindow mediante la palabra clave WithEvents. El módulo de clase contiene asimismo los controladores de los eventos KeyDown, KeyPress y KeyUp.
Para ejecutar este ejemplo, inserte un nuevo módulo de clase en el proyecto de VBA, asígnele el nombre KeyboardListener e inserte el código siguiente en el módulo.
Dim WithEvents vsoWindow As Visio.Window
Private Sub Class_Initialize()
Set vsoWindow = ActiveWindow
End Sub
Private Sub Class_Terminate()
Set vsoWindow = Nothing
End Sub
Private Sub vsoWindow_KeyDown(ByVal KeyCode As Long, ByVal KeyButtonState As Long, CancelDefault As Boolean)
Debug.Print "KeyCode is "; KeyCode
Debug.Print "KeyButtonState is" ; KeyButtonState
End Sub
Private Sub vsoWindow_KeyPress(ByVal KeyAscii As Long, CancelDefault As Boolean)
Debug.Print "KeyAscii value is "; KeyAscii
End Sub
Private Sub vsoWindow_KeyUp(ByVal KeyCode As Long, ByVal KeyButtonState As Long, CancelDefault As Boolean)
Debug.Print "KeyCode is "; KeyCode
Debug.Print "KeyButtonState is" ; KeyButtonState
End Sub
A continuación, inserte el código siguiente en el proyecto ThisDocument .
Dim myKeyboardListener As KeyboardListener
Private Sub Document_DocumentSaved(ByVal doc As IVDocument)
Set myKeyboardListener = New KeyboardListener
End Sub
Private Sub Document_BeforeDocumentClose(ByVal doc As IVDocument)
Set myKeyboardListener = Nothing
End Sub
Guarde el documento para inicializar la clase, presione cualquier tecla y, a continuación, suéltela para desencadenar un evento KeyUp. En la ventana Inmediato, el controlador imprime el código de la clave que se ha liberado para desencadenar el evento y el estado de las teclas Mayús y Ctrl en el momento en que se desencadena el evento.
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.