Как изменять позицию элемента при перетягивании его мышью - VB
Формулировка задачи:
Необходимо написать процедуру обработки события, реализующую действия: элемент изменяет позицию при перетягивании его мышью, элемент изменяет размеры при растягивании его с помощью мыши. Как может выглядеть такая процедура?
Решение задачи: «Как изменять позицию элемента при перетягивании его мышью»
textual
Листинг программы
Const WM_NCLBUTTONDOWN = &HA1 Const HTCAPTION = 2 Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _ (ByVal hWnd As Long, ByVal wMsg As Long, _ ByVal wParam As Long, lParam As Any) As Long Private Declare Function ReleaseCapture Lib "user32" () As Long Public BarX Public BarY Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then BarY = Y: BarX = X End Sub Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then Command1.Top = Command1.Top + Y - BarY Command1.Left = Command1.Left + X - BarX Call ReleaseCapture Call SendMessage(Command1.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&) End If End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д