Delphi-PRAXiS
Seite 1 von 2  1 2      

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/)
-   -   Delphi PageControl und Buttons optimal zeichnen (https://www.delphipraxis.net/136070-pagecontrol-und-buttons-optimal-zeichnen.html)

Privateer3000 23. Jun 2009 06:36


PageControl und Buttons optimal zeichnen
 
Guten Morgen Delphianer,

Ich bräuchte mal einen Rat in Sachen Performance.
Gegeben ist ein PageControl mit 8-10 Tabs.
Auf jedem der Tabs müssen 20-40 Buttons sitzen.
Wenn ich jetzt zum Anwendungsstart alle Buttons erzeuge
dauert der Start dementsprechend länger. Hat auch den Nachteil
wenn sich ein Button ändert müssen alle neu gezeichnet werden.

Werden die Tabs erzeugt wenn einer der Tabs geklickt wird
werden sichtbar die Buttons gezeichnet was unschön aussieht aber
den Vorteil hat geänderte Buttons werden nur auf dem Tab neu gezeichnet.

Werte für Tabs und Buttons (Farbe,Caption,Tag) werden aus einer
DB ausgelesen da sie bestimmte Werte und Ergebnisse darstellen.
Bedingung ist aber das sie klickbar sind um eine Aktion auszulösen.

Was ist die bessere Variante oder gibt andere Möglichkeiten bzw.
Komponenten mit onClick-Ereignis die sich schneller zeichnen lassen?

Grüße

mkinzler 23. Jun 2009 06:42

Re: PageControl und Buttons optimal zeichnen
 
Erzeuge diese doch bevor der Tab gewechselt wird ( beim Changing statt beim Change-Event)

Privateer3000 23. Jun 2009 06:50

Re: PageControl und Buttons optimal zeichnen
 
Danke mkinzler
stimmt du hast Recht (wie immer)!

Generell, eignen sich andere Kompos besser für solche Massen?

Danke!

Satty67 23. Jun 2009 06:51

Re: PageControl und Buttons optimal zeichnen
 
Bei bis zu 40 Aktionen pro Tab würde sich doch auch eine ListBox anbieten. Die kennt ja auch Klick und DblKlick und wäre optisch gestaltbar wie ein Menü (Hover). Zumindest zufügen/entfernen und sortiert Anzeigen ist damit ja kein Problem.

...oder wenn es nur um Anzeigen von Informationen geht, eine RadioGroupBox. Das geht dann auch mehrspaltig.

uligerhardt 23. Jun 2009 07:53

Re: PageControl und Buttons optimal zeichnen
 
Du könntest den Inhalt jeder Seite in einen Frame packen und das PageControl durch ein TabControl ersetzen. Wenn der Benutzer einen Tab anklickt, instantiierst du den entsprechenden Frame (und entsorgst den evtl. vorher angezeigten).

Privateer3000 23. Jun 2009 12:05

Re: PageControl und Buttons optimal zeichnen
 
Danke für die Anregungen,
mit dem Frame ist auch nicht von der Hand zu weisen.
Ist es möglich jedesmal das gleiche Frame zu nehmen?
Denn da die Anzahl der Tabs variabel ist müssen auch die
zur Laufzeit erstellt werden.

Ohne es testen zu müssen, weiss jemand ob sich nicht evtl.
Label o.ä. besser eignen? Auch da ist ja ein abfangen des
onClick möglich...

angos 23. Jun 2009 12:45

Re: PageControl und Buttons optimal zeichnen
 
[quote="Privateer3000"]Danke für die Anregungen,
mit dem Frame ist auch nicht von der Hand zu weisen.
Ist es möglich jedesmal das gleiche Frame zu nehmen?
Denn da die Anzahl der Tabs variabel ist müssen auch die
zur Laufzeit erstellt werden.[quote]

Jup, das ist möglich.
Delphi-Quellcode:
 var myFrame: TMyFrame;
Zitat:

Ohne es testen zu müssen, weiss jemand ob sich nicht evtl.
Label o.ä. besser eignen? Auch da ist ja ein abfangen des
onClick möglich...
Leider keine Erfahrungswerte

uligerhardt 23. Jun 2009 13:03

Re: PageControl und Buttons optimal zeichnen
 
Zitat:

Zitat von Privateer3000
Ohne es testen zu müssen, weiss jemand ob sich nicht evtl.
Label o.ä. besser eignen? Auch da ist ja ein abfangen des
onClick möglich...

Du meinst anstelle des TabControls? Das kannste dir IMHO sparen. Ein TabControl ist ja im Endeffekt nur ein Panel mit ein paar anklickbaren Labels obendran.

Privateer3000 23. Jun 2009 13:50

Re: PageControl und Buttons optimal zeichnen
 
Zitat:

Zitat von uligerhardt
Zitat:

Zitat von Privateer3000
Ohne es testen zu müssen, weiss jemand ob sich nicht evtl.
Label o.ä. besser eignen? Auch da ist ja ein abfangen des
onClick möglich...

Du meinst anstelle des TabControls? Das kannste dir IMHO sparen. Ein TabControl ist ja im Endeffekt nur ein Panel mit ein paar anklickbaren Labels obendran.

Nein das zeichnen von vielen Buttons, oder eben anderen
aus der Sicht der Performance.

uligerhardt 23. Jun 2009 14:19

Re: PageControl und Buttons optimal zeichnen
 
Zitat:

Zitat von Privateer3000
Nein das zeichnen von vielen Buttons, oder eben anderen
aus der Sicht der Performance.

Das ist ja genau der Dreh von TabControl im Gegensatz zu PageControl - es existieren nur die Controls auf der aktiven Seite. Solange das nicht zu viele sind, bist du also im grünen Bereich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:13 Uhr.
Seite 1 von 2  1 2      

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