Here's some code i did for someone a while back for this.
Graphics 800,600 pointer=CreateImage(2,2) SetBuffer ImageBuffer(pointer) Color 140,140,180 Rect 0,0,2,2,1 Color 255,255,255 image=CreateImage(10,10) SetBuffer ImageBuffer(image) Rect 0,0,10,10,1 ix=300 iy=300 cx=0;offset for dragging cy=0;offset for dragging SetBuffer BackBuffer() While Not KeyHit(1) Cls If MouseDown(1) Then If ImagesOverlap(pointer,MouseX(),MouseY(),image,ix+cx,iy+cy) And drag=0 Then drag=1 cx=ix-MouseX() cy=iy-MouseY() End If Else drag=0 ix=ix+cx iy=iy+cy cx=0 cy=0 End If If drag=1 Then ix=MouseX() iy=MouseY() End If DrawImage image,ix+cx,iy+cy DrawImage pointer,MouseX(),MouseY() Flip Wend