|
DragAndDrop с помощью API |
|
|
Нужен мне был драг-дроп, поигрался со стандартным и неподошел он мне, вследстии родился этот пример - так сказать дешево и сердито :)
Вам нужно на форму кинуть таймер и фрейм (в моем случае хотя покатить что угодно) + немножко API
Kvark [dimitr[at]soften.ktu.lt] Dim pt As POINTAPI
Dim Dx, Dy, flag As Single
Public Type POINTAPI
X As Long
Y As Long
End Type
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
'Бокс у меня фрейм, причем с индексом (масив) флаг - показатель процеса
Public Sub Box_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)
DoEvents
If flag = 1 Then
flag = 0
Else
flag = 1
End If
If Button = vbLeftButton Then
GetCursorPos pt
Dx = Box(Index).left - pt.X
Dy = Box(Index).Top - pt.Y
End If
End Sub
Private Sub Form_Load()
flag = 0
End Sub
Public Sub Timer1_Timer()
GetCursorPos pt
If flag = 1 Then
Box(Index).left = (pt.X + Dx)
Box(Index).Top = (pt.Y + Dy)
End If
End Sub
|
|
|
|
|
|
|