Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Komponenten verschieben (https://www.delphipraxis.net/153439-komponenten-verschieben.html)

Bernhard Geyer 3. Aug 2010 09:21

AW: Komponenten verschieben
 
Zitat:

Zitat von mkinzler (Beitrag 1039185)
Mit unsichtbar hat er wohl transparent gemeint. das geht aber, wie schon geschrieben mit JVPanel oder anderen Lösungen.

Kann doch auch das Panel (jedenfalls in neueren Delphi-Versionen wenn Theming aktiv ist)

Sherlock 3. Aug 2010 11:15

AW: Komponenten verschieben
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1039188)
Zitat:

Zitat von mkinzler (Beitrag 1039185)
Mit unsichtbar hat er wohl transparent gemeint. das geht aber, wie schon geschrieben mit JVPanel oder anderen Lösungen.

Kann doch auch das Panel (jedenfalls in neueren Delphi-Versionen wenn Theming aktiv ist)

Das wäre dann die Property ParentBackground, wenn ich mich nicht irre.

Sherlock

Shark99 3. Aug 2010 12:33

AW: Komponenten verschieben
 
Das mit den Tags ist eine nette Idee, leider nutze ich die schon für etwas anderes. Ich versuche es mal mit einem transparenten Panel.

Shark99 4. Aug 2010 12:57

AW: Komponenten verschieben
 
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.

xZise 12. Aug 2010 06:00

AW: Komponenten verschieben
 
Zitat:

Zitat von Shark99 (Beitrag 1039496)
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


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:30 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz