Klappte mit dem
Jedi Panel, jedoch nicht mit dem normalen + Parentbackground.
Es gibt eine Einschränkung. Komponenten die transparent sich und auf einem transparenten Panel sitzen, können sich manchmal merkwürdig (Repaint-Probleme) verhalten.
Dann empfehle ich dir du schreibst diese Komponenten in eine Liste und sagst dann der Liste was alle Elemente die es enthält machen soll.
Delphi-Quellcode:
type
TComponentList = class(TObject)
private
FList : TObjectList;
public
// Im Konstruktor die liste erzeugen (ownobjects auf false!)
// Im Destructor die Liste wieder freigeben
procedure Add(Component : TComponent);
procedure MoveAll(DeltaX, DeltaY : Integer);
end;
procedure TComponentList.Add(Component : TComponent);
begin
FList.Add(Component);
end;
procedure TComponentList.MoveAll(DeltaX, DeltaY : Integer);
var
i : Integer;
Element : TComponent;
begin
for i := 0 to FList.Count - 1 do
begin
Element := FList[i] as TComponent;
Element.Left := Element.Left + DeltaX;
Element.Top := Element.Top + DeltaY;
end;
end;
Das kannst du dann selber um eigene Sachen erweitern. Die Liste muss du dann Anfangs einmal erstellen, und mit allen Elementen füllen, die da rein sollen.
MfG
Fabian