Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает состояние кнопок мыши и клавиш SHIFT и CTRL, связанных с событием клавиатуры. Только для чтения.
Синтаксис
выражение. KeyButtonState
выражение Переменная, представляющая объект KeyboardEvent .
Возвращаемое значение
Long
Примечания
Возможные значения для 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 и обратная связь.