Событие Application.KeyUp (Visio)
Происходит при освобождении клавиши клавиатуры.
Синтаксис
expression. KeyUp (KeyCode, KeyButtonState, CancelDefault)
выражение: переменная, представляющая объект Application.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
KeyCode | Обязательный | Long | Ключ, который был освобожден. Возможные значения объявляются в константах keycode. |
KeyButtonState | Обязательный | Long | Состояние клавиш SHIFT и CTRL для события. Может быть сочетанием значений, объявленных в VisKeyButtonFlags. Например, если KeyButtonState возвращает значение 12, это означает, что пользователь удерживал клавиши SHIFT и CTRL. |
CancelDefault | Обязательный | Boolean | False, если Microsoft Visio должен обработать сообщение, полученное от этого события; В противном случае — Значение True. |
Замечания
Если для параметра CancelDefault заданозначение True, Visio не будет обрабатывать сообщение, полученное при нажатии кнопки мыши.
В отличие от некоторых других событий Visio, KeyUp не имеет префикса Query, но, тем не менее, это событие запроса. То есть можно отменить обработку сообщения, отправляемого keyUp, задав для cancelDefaultзначение True, или, если для обработки события используется метод VisEventProc , возвращая значение True. Дополнительные сведения см. в разделах о методе VisEventProc и любых событиях запроса (например, о событии QueryCancelSuspend ) в этой ссылке.
Если вы используете Microsoft Visual Basic или VBA, синтаксис в этом разделе описывает распространенный и эффективный способ обработки событий.
Если вы хотите создать собственные объекты Event , используйте метод Add или AddAdvise .
Чтобы создать объект Event , запускающий надстройку, используйте метод Add в том виде, в котором он применяется к коллекции EventList .
Чтобы создать объект Event , получающий уведомление, используйте метод AddAdvise .
Чтобы найти код события, которое требуется создать, см. статью Коды событий.
Пример
В этом модуле класса показано, как определить класс синхронизации с именем KeyboardListener , который прослушивает события, вызванные действиями клавиатуры в активном окне. Объектная переменная vsoWindow объявляется с помощью ключевого слова WithEvents . Модуль класса также содержит обработчики событий KeyDown, KeyPress и KeyUp .
Чтобы запустить этот пример, вставьте новый модуль класса в проект 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
Сохраните документ, чтобы инициализировать класс, нажмите любую клавишу, а затем отпустите его, чтобы запустить событие KeyUp . В окне Интерпретация обработчик выводит код клавиши, которая была освобождена для запуска события, а также состояние клавиш SHIFT и CTRL во время запуска события.
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.