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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
| uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls;
type
TForm8 = class(TForm)
Shape1: TShape;
Shape2: TShape;
Shape3: TShape;
procedure FormDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure FormDragDrop(Sender, Source: TObject; X, Y: Integer);
procedure ShapesDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form8: TForm8;
implementation
{$R *.dfm}
procedure TForm8.FormDragDrop(Sender, Source: TObject; X, Y: Integer);
begin
TShape(Source).Brush.Color:=ClWhite;
TShape(Source).pen.Style:=psSolid;
TShape(Source).Top:=Y;
TShape(Source).Left:=X;
end;
procedure TForm8.FormDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept:=true;
// déplacement de l'objet
TShape(Source).Top:=Y;
TShape(Source).Left:=X;
end;
procedure TForm8.ShapesStartDrag(Sender: TObject; var DragObject: TDragObject);
begin
TShape(Sender).Brush.Color:=clRed;
TShape(Sender).pen.Style:=psDot;
end;
procedure TForm8.ShapesDragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
Accept:=Sender<>Source;
end; |
Partager