Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
1. Apr 2006
Hallo Andy,
nimm eine leere Form und packe ein Panel drauf mit Align = alClient. Auf das Panel packst du einen SpeedButton und setzt im Object Inspector die Eigenschaft Anchors so wie du es gerne hättest. Setze mal den Anker für rechts und unten auf true und die beiden anderen auf false. Wenn du deine Form dann anzeigst und in der Größe veränderst, dann wirst du sehen und verstehen.
Grüße...
Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
31. Mär 2006
Hallo Andy,
ich bin mir nicht sicher, ob ich verstehe, was du da treibst, aber wenn es das automatische Ausrichten von SpeedButtons nach einer Größenänderung des ParentControls (ExPanel) ist, dann könntest du auch einfach die Anchors-Eigenschaft der SpeedButtons verwenden und ihnen zusehen, wenn sie sich selbst neu ausrichten.
Nachdenkliche Grüße vom marabu
Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
30. Mär 2006
@Dennis: alles richtig, aber du sollst die Rekursion gar nicht auf eine Ebene begrenzen:
@Andreas: wie testet du denn?
procedure TDemoForm.ButtonClick(Sender: TObject);
var
s: TStringList;
Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
30. Mär 2006
Hallo Dennis,
Eigentümer (Owner - Components) aller Panels ist in der Regel die Form und dann findest du die Panels nicht im Components-Array eines Panels. Für die visuelle Hierarchie (Parent - Controls) ist das Controls-Array zuständig. Und da gibt es auch Rekursion - Panels, die auf Panels liegen, welche auf einem Panel liegen.
procedure GetControls(wc: TWinControl; s: TStrings);
var
...
Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
29. Mär 2006
Hallo Andreas,
nicht Panel.Components sondern Panel.Controls musst du durchsuchen - eventuell sogar rekursiv.
Grüße vom marabu