Как изменять позицию элемента при перетягивании его мышью - VB

Узнай цену своей работы

Формулировка задачи:

Необходимо написать процедуру обработки события, реализующую действия: элемент изменяет позицию при перетягивании его мышью, элемент изменяет размеры при растягивании его с помощью мыши. Как может выглядеть такая процедура?

Решение задачи: «Как изменять позицию элемента при перетягивании его мышью»

textual
Листинг программы
  1. Const WM_NCLBUTTONDOWN = &HA1
  2. Const HTCAPTION = 2
  3. Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
  4.  (ByVal hWnd As Long, ByVal wMsg As Long, _
  5.   ByVal wParam As Long, lParam As Any) As Long
  6. Private Declare Function ReleaseCapture Lib "user32" () As Long
  7.  
  8. Public BarX
  9. Public BarY
  10.  
  11. Private Sub Command1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  12.     If Button = 1 Then BarY = Y: BarX = X
  13. End Sub
  14.  
  15. Private Sub Command1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  16.     If Button = 1 Then
  17.         Command1.Top = Command1.Top + Y - BarY
  18.         Command1.Left = Command1.Left + X - BarX
  19.     Call ReleaseCapture
  20.     Call SendMessage(Command1.hWnd, WM_NCLBUTTONDOWN, HTCAPTION, 0&)
  21.     End If
  22. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы