Перетаскивание объектов на форме мышью - VB

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

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

Нужно сделать такое же, только в VB 6:
Листинг программы
  1. Option Explicit
  2. Const SNAP! = 5
  3. Dim Xdown!, Ydown!
  4. Private Sub Label1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  5. 'Без этой процедуры можно обойтись, но с ней
  6. 'мышка чуть быстрее "зацепляет" объект
  7. Xdown = X: Ydown = Y
  8. End Sub
  9. Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  10. Dim l!, t!
  11. If Button = 1 Then
  12. With Label1
  13. .Left = Application.Min(Application.Max(.Left - Xdown + X, 0), Me.Width - .Width - 5!)
  14. .Top = Application.Min(Application.Max(.Top - Ydown + Y, 0), Me.Height - .Height - 19!)
  15. If Abs(.Left - Label2.Left) <= SNAP And Abs(.Top - Label2.Top) <= SNAP Then
  16. .Left = Label2.Left
  17. .Top = Label2.Top
  18. End If
  19. End With
  20. Else
  21. Xdown = X: Ydown = Y
  22. End If
  23. End Sub

Решение задачи: «Перетаскивание объектов на форме мышью»

textual
Листинг программы
  1. Const SNAP! = 500
  2. Dim Xdown!, Ydown!, bX As Single, bY As Single
  3.  
  4.  
  5. Private Sub Form_Load()
  6.     bX = Label1.Left: bY = Label1.Top
  7. End Sub
  8.  
  9. Private Sub Label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
  10. Xdown = X: Ydown = Y
  11.  
  12. End Sub
  13.  
  14. Private Sub Label1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
  15. Dim l!, t!
  16. If Button = 1 Then
  17.     With Label1
  18.        .Move .Left - Xdown + X, .Top - Ydown + Y
  19.         If Abs(.Left - Label2.Left) <= SNAP And Abs(.Top - Label2.Top) <= SNAP Then
  20.             MsgBox "Столкновение"
  21.             .Left = bX
  22.             .Top = bY
  23.             '.Left = Label2.Left
  24.            '.Top = Label2.Top
  25.        End If
  26.     End With
  27. Else
  28.     Xdown = X: Ydown = Y
  29. End If
  30. End Sub

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


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

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

9   голосов , оценка 3.889 из 5

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

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

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