Thanks for your help. Finaly i have coded this. It's ok for my game editor.
Strict
Global Win2:TGadget = CreateWindow("",(GadgetWidth(Desktop())-540)/2,(GadgetHeight(Desktop())-650)/2,540,650,Null,WINDOW_MENU|WINDOW_TITLEBAR)
Global Panel_choix_map : Tgadget = CreatePanel (0,0,700,40, Win2)
Global Canvas2:TGadget= CreateCanvas(10,50,512,512,Win2)
Global cerclex=100
Global Cercley=100
' -------------------------------------------------------------------------------------------
Global mx, my
Global dx, dy
Global ox, oy
Global bDeplacer = False
Global Timer:TTimer = CreateTimer(60)
While WaitEvent()
Select EventID()
Case EVENT_MOUSEDOWN
ox = mx
oy = my
Case EVENT_MOUSEUP
ox = 0
oy = 0
Case EVENT_MOUSEMOVE
mx = EventX()
my = EventY()
If ox <> 0 And oy <> 0 Then
dx = ox - mx
dy = oy - my
ox = mx
oy = my
Else
dx = 0
dy = 0
End If
CercleX = CercleX - dx
CercleY = CercleY - dy
Case EVENT_TIMERTICK
SetGraphics CanvasGraphics(Canvas2)
Cls
SetColor 255,255,255
DrawOval mx-2,my-2,2,2
DrawText String Int(mx) + "," + String (Int(my)), mx,my
DrawText "dx=" + String Int(dx) + ",dy=" + String (Int(dy)), mx,my + 16
DrawOval CercleX - 50, CercleY - 50,100,100
Flip 0
Case EVENT_WINDOWCLOSE
Exit
End Select
Wend