Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
Delphi XE3 Enterprise
|
AW: Alle Komponenten auf einem Panel bewegen
13. Jun 2012, 12:54
AFAIK kann nur ein Control "gecaptured" sein
Delphi-Quellcode:
private
{ Private-Deklarationen }
FX,FY:Integer;
public
{ Public-Deklarationen }
end;
var
Form5: TForm5;
implementation
{$R *.dfm}
procedure TForm5.Panel2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
FX := X;
FY := Y;
end;
procedure TForm5.Panel2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
i:Integer;
p:TPanel;
begin
if ssLeft in Shift then
begin
p := TPanel(TPanel(Sender).Parent);
for I := 0 to p.controlcount - 1 do
begin
if p.controls[i] is TPanel then
with Tpanel(p.controls[i]) do
begin
Left := Left + X - FX;
Top := Top + Y - FY;
end;
end;
end;
end;
Thomas Wassermann H₂♂ Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂♂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
|