1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| procedure TForm1.Image3MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
{ Cette procédure initialise le processus. Elle permet de déterminer s'il
s'agit d'un simple Click ou du début d'un Drag'n drop }
begin
Sliping := false;
Image3.BeginDrag(false,3);{ false pour permettre de cliquer sans déplacer.
Ici, commence à glisser après mouvement de 3 pixels.}
XsurLab := X;
YsurLab := Y;
end;
procedure TForm1.Image3DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
{ Cette procédure permet d'éviter l'affreux glissement saccadé obtenu avec
la méthode proposée par Borland dans l'aide en ligne }
begin
Sliping := true;
Image3.Left := Image3.Left + (X - XsurLab);
Image3.Top := Image3.Top + (Y - YsurLab);
end;
procedure TForm1.FormDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
{ Cette procédure permet d'éviter la "perte" du compo lors d'un mouvement très
rapide de la souris }
begin
Image3.Left := X - XsurLab;
Image3.Top := Y - YsurLab;
end;
procedure TForm1.Image3EndDrag(Sender, Target: TObject; X, Y: Integer);
{ Cette procédure permet d'effectuer l'action prévue lors du "OnClick" }
begin
If Sliping = false then
beep;
end; |
Partager