Как изменять позицию элемента при перетягивании его мышью - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д