Propiedad KeyboardEvent.KeyButtonState (Visio)
Devuelve el estado de los botones del mouse y las teclas MAYÚS y CTRL asociadas a un evento de teclado. Solo lectura.
Sintaxis
expresión. KeyButtonState
Expresión Variable que representa un objeto KeyboardEvent .
Valor devuelto
Long
Comentarios
Los valores posibles de KeyButtonState pueden ser una combinación de cualquiera de los valores que se muestran en la tabla siguiente, que se declaran en VisKeyButtonFlags en la biblioteca de tipos de Visio. Por ejemplo, si KeyButtonState devuelve 9, indica que el usuario ha hecho clic en el botón izquierdo del mouse mientras presiona CTRL.
Constante | Valor |
---|---|
visKeyControl | 8 |
visKeyShift | 4 |
visMouseLeft | 1 |
visMouseMiddle | 16 |
visMouseRight | 2 |
Ejemplo:
Este módulo de clase muestra cómo se define una clase de receptor denominada KeyboardListener que escucha los eventos desencadenados por las acciones del 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 Microsoft Visual Basic para Aplicaciones (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 y, a continuación, presione cualquier tecla para desencadenar un evento KeyDown. En la ventana Inmediato, el controlador imprime el código de la tecla que se ha presionado para desencadenar el evento y el estado de las teclas MAYÚS y CTRL en el momento en que se ha desencadenado 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.