Drag&Drop Image

Программирование на Visual Basic for Applications
Ne0z
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 13.10.2003 (Пн) 18:08

Drag&Drop Image

Сообщение Ne0z » 13.10.2003 (Пн) 18:16

Народ помогите плизззз!!! Столкнулся с такой проблемой: в Excel'е необходимо реализовать Drag&Drop компонента Image пробовал сам:
Код: Выделить всё
Dim Xb As Single
Dim Yb As Single
Dim L As Single
Dim T As Single
Dim Flag As Boolean
Private Sub Image1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Flag = True
Image1.BorderColor = RGB(0, 0, 255)
L = Image1.Left
T = Image1.Top
Xb = X
Yb = Y
End Sub

Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Flag = True Then
Image1.Left = X - (Xb - L)
Image1.Top = Y - (Yb - T)
End If
End Sub

Private Sub Image1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Flag = False
Image1.BorderColor = RGB(0, 0, 0)
End Sub

Но всё жутко тормозит. Нужно именно чтобы при перетаскивании отображалась картинка в Image1. Заранее блогадарен за любую помощь

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.10.2003 (Вт) 7:54

Код: Выделить всё
Option Explicit

Private InMotion As Boolean
Private xx As Single, yy As Single

Private Sub Image1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  InMotion = True: xx = X: yy = Y
End Sub

Private Sub Image1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  With Image1
    If InMotion Then .Move .Left - xx + X, .Top - yy + Y
  End With
End Sub

Private Sub Image1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  InMotion = False
End Sub
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 94

    TopList