Как разграничить события нажатия и "перетаскивания" (нажатие и удержание)? - VB
Формулировка задачи:
Здравствуйте !
Возьмем к примеру, CommandButton.
Хочу уметь перетаскивать форму, удерживая курсор мыши на кнопке.
Следовательно обычный клик (_Click (Mouse_Down + Mouse_Up) также должен нормально отрабатывать.
Сейчас конфликтный код имеет такой вид:
Решение задачи: «Как разграничить события нажатия и "перетаскивания" (нажатие и удержание)?»
textual
Листинг программы
Option Explicit Dim dX As Single, dy As Single, flag As Boolean Private Sub cmdCommand1_Click() Debug.Print "Click" End Sub Private Sub cmdCommand1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Debug.Print "Mouse down" flag = True: dX = X: dy = Y End Sub Private Sub cmdCommand1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If flag Then Me.Move Me.Left + (X - dX), Me.Top + (Y - dy) End Sub Private Sub cmdCommand1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) flag = False Debug.Print "Mouse up" End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д