procedure TForm1.Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
var
a, b, c : Integer;
begin
if (Source is TImage) and (Panel1.ControlCount < 5) then
begin
TImage(Source).Parent := Panel1;
TImage(Source).Left := 115 + ((TImage(Source).Width + 15) * (Panel1.ControlCount - 1));
end;
a := (sender as TPanel).ControlCount;
a := a * 60;
b := ((sender as Tpanel).Width - a) div ((sender as TPanel).ControlCount+1);
For c := 0 to (sender as TPanel).ControlCount-1 do
Begin
if ((sender as TPanel).Controls[c] is TImage) then
Begin
((sender as TPanel).Controls[c] as TImage).Left := b;
b := b + 60 + 15;
End;
End;
end;
procedure TForm1.AlignImages(Container: TObject);
var
a, b, c, Factor: Integer;
begin
case Panel1.ControlCount of
1: Factor := Panel1.ControlCount+1;
2: Factor := Panel1.ControlCount;
3: Factor := Panel1.ControlCount -1;
4: Factor := Panel1.ControlCount -1;
5: Factor := Panel1.ControlCount -1;
end;
a := Panel1.ControlCount;
a := a * 60;
b := (Panel1.Width - a) div Factor;
For c := 0 to Panel1.ControlCount-1 do
Begin
if (Panel1.Controls[c] is TImage) then
Begin
(Panel1.Controls[c] as TImage).Left := b;
b := b + 60 + 15;
End;
End;
end;
procedure TForm1.Panel1DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
if (Source is TImage) and (Panel1.ControlCount < 5) then
TImage(Source).Parent := Panel1;
AlignImages(Panel1);
end;
procedure AlinhaImages(Container: TObject; spaceBetween: Integer);
var
a, b, c, Factor, OBJwidth: Integer;
begin
case (Container as TPanel).ControlCount of
1: Factor := (Container as TPanel).ControlCount+1;
2: Factor := (Container as TPanel).ControlCount;
3: Factor := (Container as TPanel).ControlCount -1;
4: Factor := (Container as TPanel).ControlCount -1;
5: Factor := (Container as TPanel).ControlCount -1;
end;
OBJwidth := ((Container as TPanel).Controls[0] as TImage).Width;
a := (Container as TPanel).ControlCount;
a := a * OBJwidth;
b := ((Container as TPanel).Width - a) div Factor;
For c := 0 to (Container as TPanel).ControlCount-1 do
Begin
if ((Container as TPanel).Controls[c] is TImage) then
Begin
((Container as TPanel).Controls[c] as TImage).Left := b;
b := b + OBJwidth + spaceBetween;
End;
End;
end;