Событие Application.MouseMove (Visio)
Происходит при перемещении мыши.
Синтаксис
expression. MouseMove (Button, KeyButtonState, x, y, CancelDefault)
выражение: переменная, представляющая объект Application.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Button | Обязательный | Long | Нажатая кнопка мыши. Возможные значения объявляются в VisKeyButtonFlags. |
KeyButtonState | Обязательный | Long | Состояние кнопок мыши и клавиш SHIFT и CTRL для события. Возможные значения могут быть сочетанием значений, объявленных в VisKeyButtonFlags. Например, если KeyButtonState возвращает значение 9, это означает, что пользователь нажал левую кнопку мыши при нажатии клавиши CTRL. |
x | Обязательный | Double | Координата x указателя мыши. |
y | Обязательный | Double | Координата указателя мыши по оси Y. |
CancelDefault | Обязательный | Boolean | False, если Microsoft Visio должен обработать сообщение, полученное от этого события; В противном случае — Значение True. |
Замечания
Если для параметра CancelDefault заданозначение True, Visio не будет обрабатывать сообщение, полученное при нажатии кнопки мыши.
В отличие от некоторых других событий Visio, MouseMove не имеет префикса Query, но, тем не менее, это событие запроса. То есть вы можете отменить обработку сообщения, отправленного MouseMove, задав для cancelDefaultзначение True, или, если для обработки события используется метод VisEventProc , возвращая значение True. Дополнительные сведения см. в разделах о методе VisEventProc и любых событиях запроса (например, о событии QueryCancelSuspend ) в этой ссылке.
Если вы используете Microsoft Visual Basic или Visual Basic для приложений (VBA), синтаксис в этом разделе описывает распространенный и эффективный способ обработки событий.
Если вы хотите создать собственные объекты Event , используйте метод Add или AddAdvise .
Чтобы создать объект Event , запускающий надстройку, используйте метод Add в том виде, в котором он применяется к коллекции EventList .
Чтобы создать объект Event , получающий уведомление, используйте метод AddAdvise .
Чтобы найти код события, которое требуется создать, см. статью Коды событий.
Пример
В этом модуле класса показано, как определить класс приемника с именем MouseListener , который прослушивает события, вызванные действиями мыши в активном окне. Объектная переменная vsoWindow объявляется с помощью ключевого слова WithEvents . Модуль класса также содержит обработчики событий MouseDown, MouseMove и MouseUp .
Чтобы выполнить этот пример, вставьте новый модуль класса в проект VBA, присвойте ему имя MouseListener и вставьте следующий код в модуль.
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_MouseDown(ByVal Button As Long, ByVal KeyButtonState As Long, ByVal x As Double, ByVal y As Double, CancelDefault As Boolean)
If Button = 1 Then
Debug.Print "Left mouse button clicked"
ElseIf Button = 2 Then
Debug.Print "Right mouse button clicked"
ElseIf Button = 16 Then
Debug.Print "Center mouse button clicked"
End If
End Sub
Private Sub vsoWindow_MouseMove(ByVal Button As Long, ByVal KeyButtonState As Long, ByVal x As Double, ByVal y As Double, CancelDefault As Boolean)
Debug.Print "x-position is "; x
Debug.Print "y-position is "; y
End Sub
Private Sub vsoWindow_MouseUp(ByVal Button As Long, ByVal KeyButtonState As Long, ByVal x As Double, ByVal y As Double, CancelDefault As Boolean)
If Button = 1 Then
Debug.Print "Left mouse button released"
ElseIf Button = 2 Then
Debug.Print "Right mouse button released"
ElseIf Button = 16 Then
Debug.Print "Center mouse button released"
End If
End Sub
Затем вставьте следующий код в проект ThisDocument .
Dim myMouseListener As MouseListener
Private Sub Document_DocumentSaved(ByVal doc As IVDocument)
Set myMouseListener = New MouseListener
End Sub
Private Sub Document_BeforeDocumentClose(ByVal doc As IVDocument)
Set myMouseListener = Nothing
End Sub
Сохраните документ, чтобы инициализировать класс, а затем кратко переместите мышь в активное окно, чтобы запустить серию событий MouseMove . В окне Интерпретация обработчик выводит список пар значений x- и y-position, каждая из которых соответствует положению мыши при срабатывании события MouseMove .
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.