AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Komponente TScrollBoxFlow
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente TScrollBoxFlow

Ein Thema von stahli · begonnen am 24. Jul 2008 · letzter Beitrag vom 24. Jul 2008
Antwort Antwort
Benutzerbild von stahli
stahli
Registriert seit: 26. Nov 2003
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
Miniaturansicht angehängter Grafiken
scrollboxflow3_171.jpg   scrollboxflow2_158.jpg   scrollboxflow1_324.jpg  
Angehängte Dateien
Dateityp: zip uscrollboxflow_785.zip (521,9 KB, 47x aufgerufen)
 
mimi

 
FreePascal / Lazarus
 
#2
  Alt 24. Jul 2008, 16:14
ich schreibe gerade auch an einer scrollbox die in etwa nach diser Technik die ich hier vorgestellt habe(als pluto)
http://www.delphigl.com/forum/viewtopic.php?t=7669
das meiste geht auch schon recht gut, arbeitet deine nach dem selben Grund Prinzip ?
Michael Springwald
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

 
Delphi 11 Alexandria
 
#3
  Alt 24. Jul 2008, 16:32
Nein, ich denke nicht.

Ich benutze eine ganz normale TScrollBox und habe der lediglich die Fähigkeit hinzugefügt, die in ihr bereits enthaltenen Controls so anzuordnen, dass möglichst wenig Freiräume entstehen.
Die Positionen berechne ich "virtuell", indem ich für jedes Control ein Rect verwalte und diese Rects nacheinander möglichst sinnvoll anordne.
Dann werden die Rect-Positionen einfach den zugehörigen Controls zugewiesen.

Das funktioniert schnell und gut, aber eigentlich ist es eine ganz normale ScrollBox.

Stahli
  Mit Zitat antworten Zitat
mimi

 
FreePascal / Lazarus
 
#4
  Alt 24. Jul 2008, 16:35
ach so, hatte mir dein Soruce-Code nicht angeschaut !
Michael Springwald
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:08 Uhr.
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