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