Delphi-PRAXiS

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 Vorschläge für bessere und effektivere Komponentennutzung (https://www.delphipraxis.net/78179-vorschlaege-fuer-bessere-und-effektivere-komponentennutzung.html)

Master-of-Magic 30. Sep 2006 12:51


Vorschläge für bessere und effektivere Komponentennutzung
 
Liste der Anhänge anzeigen (Anzahl: 4)
Ich bräuchte etwas Hilfe oder Tipps zu meinem Tool.

Ich nutze in meinem Programm relativ viele Listen/Labels und v.a. Edits. Auf dem ersten Bild (1_ohne_Manifest) sieht man, dass ich sogar ein komplettes Edit-Gitter verwende. Im zweiten Bild (2_ohne_Manifest) wird die Nutzung von Listen deutlich (jede Spalte ist eine eigene Listbox, Checklistbox etc.). Vorallem die Listen im zweiten Bild müssen regelmäßig (teilweise mehrfach/s) geupdatet werden. Da stellen sich mir einige Fragen:

1. Gibt es Komponenten, die Edit-Listen/Gitter erzeugen? Oder muss ich die Edits nach wie vor einzeln verwalten?
2. Macht es Sinn, diese ganzen Kompos (v.a. die Edits) erst zur Laufzeit über eine Schleife zu erzeugen? Wann ja, wie ginge das?
3. Liese sich 2_ohne_Manifest auch mit einer Listview realisieren (spart sechs Listboxen)? Wie könnte ich da die Edits einbauen und wie kann ich die Checkboxen im Report-Style verschönern?

Mir geht es im Prinzip v.a. um bessere Performance bei den sekündlichen Updates.

Und dann ergibt sich ein zweites Problem/Nachteil. Ich würde mein Tool gerne früher oder später auf XP-Style umstellen. Damit meine ich keinen extra eigenen Skin, sondern einfach eine Anpassung an die restliche Windows Umgebung. Das Problem sind hierbei u.a. die Listbox/Checklistboxen. Die letzten beiden Bilder zeigen die Verunstaltung mit dem Standard-Silver-Style.

4. Habe ich irgendeine Möglichkeit, die (Check-)Listboxen transparent zu machen bzw. dem Hintergrund anzupassen?
5. Im letzten Bild (2_mit_Manifest) sieht man, dass sich die PageControl IN der größeren PageControl nicht anpasst. Wie kann ich diesen Fehler beheben?

Ich hoffe, das waren jetzt nicht zu viele Fragen auf einmal ;-)
Aber ich hatte zuerst ausschließlich Labels benutzt und bin dann auf Listboxen umgestiegen (+97% Performance). Es würde mich freuen, wenn ich mit weiteren Tricks, die CPU-Auslastung beim Aktualisieren noch weiter verringern könnte!

:arrow: Bitte orientiert euch beim Beantworten an den Nummern!

jfheins 30. Sep 2006 13:06

Re: Vorschläge für bessere und effektivere Komponentennutzun
 
Vielleicht ist TStrongGrid was für dich? :gruebel:

Balu der Bär 30. Sep 2006 13:12

Re: Vorschläge für bessere und effektivere Komponentennutzun
 
Zitat:

2. Macht es Sinn, diese ganzen Kompos (v.a. die Edits) erst zur Laufzeit über eine Schleife zu erzeugen? Wann ja, wie ginge das?
Ob es Sinn macht kann ich nicht sagen, sehe eigentlich keine wesentlichen Vor- oder Nachteile.
Am einfachsten ginge das so:
Delphi-Quellcode:
var
Edits : array [0..50] of TEdit;

...

for i := 0 to 50 do
begin
 Edits[i] := TEdit.Create(self); //Erstellen
 Edits[i].Parent := TForm1; //Parent setzen
 Edits[i].Top := i + 12; //Position setzen
 Edits[i]. Left := 8;
 //etc
end;
P.S.: Weiße Schrift auf der normalen Form-Farbe bereitet meinen Augen Schmerzen. :-(


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:56 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