Hay una manera bastante simple de simularlo.
Pone eso en un form y pone un par de shapes por ahi y listo
Option Explicit
Dim lXOffset As Single
Dim lYOffset As Single
Dim objCur As Object
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
lXOffset = X: lYOffset = Y
Set objCur = ControlFromPoint(lXOffset, lYOffset)
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button Then
If Not objCur Is Nothing Then
objCur.Left = X - lXOffset
objCur.Top = Y - lYOffset
End If
End If
End Sub
Private Function ControlFromPoint(X As Single, Y As Single) As Object
Dim obj As Object
On Error Resume Next
For Each obj In Me
If X > obj.Left And X < obj.Left + obj.Width Then
If Y > obj.Top And Y < obj.Top + obj.Height Then
Set ControlFromPoint = obj
X = X - obj.Left
Y = Y - obj.Top
Exit Function
End If
End If
Next
End Function
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Set objCur = Nothing
End Sub