Yes, it can be done, just by using some API's. Initiate dragging in the image's mousedown event and stop dragging in the image's mouseup event.
Copy this in your code:
Private Declare Function SendMessage Lib _
"user32" Alias "SendMessageA" (ByVal hWnd As _
Long, ByVal wMsg As Long, ByVal wParam As _
Long, lParam As Any) As Long
Private Declare Function ReleaseCapture Lib _
"user32" () As Long
Private Declare Function GetCursorPos Lib _
"user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
X As Long
Y As Long
End Type
' Used to support captionless drag.
Private Const WM_NCLBUTTONDOWN = &HA1
Private Const HTCAPTION = 2
Private Sub Image1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
' Allow captionless drag.
If Button = vbLeftButton Then
Call ReleaseCapture
Call SendMessage(Me.hWnd, _
WM_NCLBUTTONDOWN, HTCAPTION, ByVal 0&)
End If
End Sub
Private Sub Image1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim pt As POINTAPI
' This is relative to the screen, so we can't
' use the coordinates passed in the event.
Call GetCursorPos(pt)
End Sub
Success, Herman :-Q