Поделиться через


Свойство 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 и обратная связь.