Свойство KeyboardEvent.KeyButtonState (Visio)
Возвращает состояние кнопок мыши и клавиш SHIFT и CTRL, связанных с событием клавиатуры. Только для чтения.
Синтаксис
выражение. KeyButtonState
Выражение Переменная, представляющая объект KeyboardEvent .
Возвращаемое значение
Длинное целое
Замечания
Возможные значения для KeyButtonState могут быть сочетанием любых значений, показанных в следующей таблице, которые объявлены в VisKeyButtonFlags в библиотеке типов Visio. Например, если KeyButtonState возвращает значение 9, это означает, что пользователь нажал левую кнопку мыши при нажатии клавиши CTRL.
Константа | Значение |
---|---|
visKeyControl | 8 |
visKeyShift | 4 |
visMouseLeft | 1 |
visMouseMiddle | 16 |
visMouseRight | 2 |
Пример
В этом модуле класса показано, как определить класс приемника с именем KeyboardListener , который прослушивает события, вызванные действиями клавиатуры в активном окне. Объектная переменная vsoWindow объявляется с помощью ключевого слова WithEvents . Модуль класса также содержит обработчики событий KeyDown, KeyPress и KeyUp .
Чтобы запустить этот пример, вставьте новый модуль класса в проект Microsoft Visual Basic для приложений (VBA), назовите его KeyboardListener и вставьте следующий код в модуль.
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
Затем вставьте следующий код в проект 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
Сохраните документ, чтобы инициализировать класс, а затем нажмите любую клавишу, чтобы запустить событие KeyDown . В окне Интерпретация обработчик выводит код клавиши, нажатой для запуска события, а также состояние клавиш SHIFT и CTRL во время запуска события.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.