Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
Delphi 11 Alexandria
|
Komponente TScrollBoxFlow
24. Jul 2008, 12:42
Hallo Gemeinde,
ich will auch einmal Gutes tun und meine neue Komponente im Forum hinterlegen...
Das ist eine TScrollBox, die alle enthaltenen Controls automatisch "optimal" anordnet und dabei einige Optionen anbietet:
TScrollBoxFlow = class(TScrollBox)
procedure Flow;
- aktualisiert die Anordnungen
- wird automatisch bei Resize und Propertyänderungen durchgeführt
property FlowSort;
- legt fest, wie die Controls zuvor sortiert werden
- das beste Ergebnis (geringste Zwischenräume) ist mit ControlBreite-Absteigend zu erreichen
- das führt allerdings dazu, dass die größten Komponenten alle möglichst oben links stehen
property FlowMargin;
- legt den freien Bereich um jedes Control fest
globale Variable TestMode:
- ermöglicht die schrittweise Anzeige der Berechnungen
Die Arbeitsweise:
- die Anordnung erfolgt derzeit immer vertikal
- eine Erweiterung auf horizontale Anordnung wäre aber auch leicht möglich
- die Komponenten werden nacheinander möglichst weit oben und links positioniert
- ist ein Platz gefunden, wird dieser festgelegt
- eine rekursive Suche oder ein nachträglier Tausch von positionierten Komponenten zwecks einer evtl. Optiomierung erfolgt nicht
- (die Ableitung von TsScrollBox (AlphaSkins) statt von TScrollBox ist problemlos möglich)
Gruß Stahli
|