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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm3 = class(TForm)
Button1: TButton;
Shape1: TShape;
procedure Distribution;
procedure Button1Click(Sender: TObject);
procedure MonLabelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure MonLabelMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure MonLabelMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
private
appuiclick:bool;
PosX,PosY:integer;
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
{$R *.dfm}
procedure TForm3.Button1Click(Sender: TObject);
begin
Distribution;
end;
procedure TForm3.Distribution;
var
MonLabel:TLabel;
i:integer;
begin
randomize;//le randomize je le mettrai dans le FormCreate mais peu importe...
for i := 0 to 4 do
begin
MonLabel:=TLabel.create(self);
MonLabel.Parent:=self;
MonLabel.Top:=100;
MonLabel.Left:=50+i*100;
MonLabel.Caption:=IntToStr(random(1+999999));
MonLabel.Font.Size:=12;
MonLabel.OnMouseDown:=MonLabelMouseDown;
MonLabel.OnMouseUp:=MonLabelMouseUp;
MonLabel.OnMouseMove:=MonLabelMouseMove;
end;
end;
procedure TForm3.MonLabelMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if appuiclick=true then
begin
TLabel(sender).Left:=TLabel(sender).Left+X-PosX;
TLabel(sender).Top:=TLabel(sender).Top+Y-PosY;
end;
end;
procedure TForm3.MonLabelMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
appuiclick:=true;
PosX:=X;
PosY:=Y;
end; |
Partager