Перетаскивание объекта и определение его положения относительно другого контролла - VB

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

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

дано условие, что при перетаскивании объекта label в текстовом поле отображается информация, где он теперь находится, те если мы тащим лабел ниже текстового пля, то он прописывает -"Объект под текстовым полем", если слева - "Объект слева от текстового поля" и т.д. пока что получилось только прописать событие перетаскивания объекта, а как дальше? нужно использовать: control.DragMode=vbAutomatic

Решение задачи: «Перетаскивание объекта и определение его положения относительно другого контролла»

textual
Листинг программы
Dim cx As Single, cy As Single
 
Private Sub label1_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
    Label1.Left = Label1.Left + X - cx
    Label1.Top = Label1.Top + Y - cy
    Label1.Caption = ""
   If Sgn(Text1.Top + Text1.Height / 2 - (Label1.Top + Label1.Height / 2)) > 0 Then Label1.Caption = " Выше" Else Label1.Caption = " Ниже"
    If Sgn(Text1.Left + Text1.Width / 2 - (Label1.Left + Label1.Width / 2)) > 0 Then Label1.Caption = Label1.Caption & " Левее" Else Label1.Caption = Label1.Caption & " Правее"
End Sub
 
Private Sub label1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Label1.Drag vbBeginDrag
    cx = X
    cy = Y
End Sub
 
Private Sub Form_Load()
    Label1.BorderStyle = 1
End  Sub

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


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

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

12   голосов , оценка 3.667 из 5
Похожие ответы