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/)
-   -   mit welcher Standard-Komponente würdet ihr das lösen? (https://www.delphipraxis.net/182397-mit-welcher-standard-komponente-wuerdet-ihr-das-loesen.html)

baumina 21. Okt 2014 13:23

mit welcher Standard-Komponente würdet ihr das lösen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Bevor ich so munter drauf los programmiere, würde ich gerne von euch wissen, wie ihr folgendes Formular realisieren würdet.

Ich möchte ungern Fremdkomponenten verwenden.

Stevie 21. Okt 2014 13:26

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
TListView mit ownerdraw

mkinzler 21. Okt 2014 13:42

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Oder Virtual TreeView ( ich sehe das mal als erweiterten Standard an)

baumina 21. Okt 2014 13:58

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Ich bin der schon immer der StringGrid-Verwender und muss gestehen, dass ich die ListView nur vom Lesen kenne. Sie interessiert mich aber schon länger und ich würde dieses Formular tatsächlich gerne mit der TListView machen.

Die virtual TreeView kenne ich ebenfalls nicht, die muss ich wohl downloaden?

Welche Vor- und Nachteile StringGrid/ListView und virtual TreeView haben, habe ich bislang noch nichts brauchbares im Netz gefunden.

Stevie 21. Okt 2014 14:05

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Beim Delphi Treff gibts nen Tutorial zum VTV.

baumina 21. Okt 2014 14:43

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Ohje, ich weiß schon warum ich diese TListView nie verwendet habe. Sie ist schrecklich kompliziert :( Bei so einfachen Dingen wie Zeilenhöhe verändern oder zur Laufzeit eine Zelle anklicken und einen Text eingeben (geht irgendwie nur auf der ersten Spalte) scheint nicht als Standard zu gelten und muss dem Ding erst aufgezwungen werden, oder liege ich da falsch.

Sir Rufo 21. Okt 2014 15:41

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Zitat:

Zitat von baumina (Beitrag 1276846)
Ohje, ich weiß schon warum ich diese TListView nie verwendet habe. Sie ist schrecklich kompliziert :( Bei so einfachen Dingen wie Zeilenhöhe verändern oder zur Laufzeit eine Zelle anklicken und einen Text eingeben (geht irgendwie nur auf der ersten Spalte) scheint nicht als Standard zu gelten und muss dem Ding erst aufgezwungen werden, oder liege ich da falsch.

Delphi-Referenz durchsuchenTListView ist primär zur Anzeige gedacht. Lediglich Delphi-Referenz durchsuchenTListItem.Caption kann bearbeitet werden, der Rest ist nur Anzeige. Die Komponente ist ja ein Wrapper um ein Control, das vom OS (Windows) kommt und dort wird die z.B. beim Explorer benutzt (mehr oder minder).

Kompliziert ist die eigentlich nicht, wenn man nicht versucht aus dem Kühlschrank eine Waschmaschine zu bauen :mrgreen:

baumina 21. Okt 2014 15:50

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Ja, ich bin auch auf das Ergebnis gekommen, dass die TListView für meine Zwecke ungeeignet ist. Ich nehm einfach wie immer die (Waschmaschine) TStringGird :-)

Neutral General 21. Okt 2014 15:52

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Trau dich und lern mal die ListView kennen ;)
So viel musst du denke ich gar nicht machen. Wo du hängst dann ggf. mal google fragen und das sollte hinhauen.

baumina 21. Okt 2014 15:54

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Ihr verwirrt mich. Würdet ihr tatsächlich in meinem Fall alle die TListView verwenden?

TiGü 21. Okt 2014 16:19

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Zitat:

Zitat von baumina (Beitrag 1276858)
Ihr verwirrt mich. Würdet ihr tatsächlich in meinem Fall alle die TListView verwenden?

Ne, lieber die Virtual TreeView, weil die gar nicht so schwierig ist und mehr Funktionen bietet.
Mit den mitgelieferten Beispielen und der Forensuche/-fragen kommt man sehr schnell sehr weit.

Stevie 21. Okt 2014 16:58

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Zitat:

Zitat von baumina (Beitrag 1276856)
Ja, ich bin auch auf das Ergebnis gekommen, dass die TListView für meine Zwecke ungeeignet ist. Ich nehm einfach wie immer die (Waschmaschine) TStringGird :-)

Ich würd nen TStringGrid eher auf eine Stufe mit nem Waschbrett setzen ;)

Zitat:

Zitat von baumina (Beitrag 1276858)
Ihr verwirrt mich. Würdet ihr tatsächlich in meinem Fall alle die TListView verwenden?

Entweder hätt ich mir schon lange ne eigene ListView oder Grid Komponente geschrieben (die Standarddinger können ja echt ma gar nix)
oder hätt mir nen paar Euro inne Hand genommen und mir ne gute kommerzielle Grid Komponente zugelegt.

Der schöne Günther 21. Okt 2014 17:54

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Vor einem änhlichen Problem stand ich vor längerer Zeit auch einmal.
Den TListview anzupassen erschien mir zu viel Fummelei. Der VirtualTreeview sah nach genau dem richtigen aus, und den habe ich dann auch genommen. Eigene "Editoren" wie Comboboxen einzubauen habe ich allerdings auf die Schnelle nicht geschafft, dazu war ich zu dumm.

Stevie 21. Okt 2014 18:23

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1276870)
Eigene "Editoren" wie Comboboxen einzubauen habe ich allerdings auf die Schnelle nicht geschafft, dazu war ich zu dumm.

Das ist am Anfang nen bisschen hakelig aber dank des Advanced Demos recht verständlich.

Der schöne Günther 21. Okt 2014 18:41

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Grade die fand ich für Tutorial-Demos viel zu umfangreich. Ich habe zwei oder drei große, vollkommen unkommentierte Projekte in Erinnerung. Letztendlich hatte ich es dann abgebrochen und bis heute auf Eis gelegt :oops:

Das ist sicher schon über ein Jahr her, vielleicht war ich auch nur zu sehr in Eile oder zu dumm.

Deswegen: Nur Mut, Baumina :-D

DeddyH 21. Okt 2014 22:08

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Und wenn der VST zu umständlich erscheint, möchte ich mal das NextGrid in den Raum werfen, das ist aber nicht kostenlos.

Dejan Vu 22. Okt 2014 02:42

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Muss es genauso aussehen? Denn zwei Radiobuttons in einer Gruppe sind identisch mit einer Combobox oder einer Checkbox. Eine Combo hat den Vorteil, das ich aus 2 Optionen auch schnell mehr machen kann, wohingegen eine Checkbox bei festen 2 Optionen einfach die bessere Wahl ist. Finde ich.

Ein Button in jeder Zeile ist web-UI-like, aber bei einer Win-Anwendung würde ich doch die Windows Guidelines befolgen, ergo: Zeile markieren und einen Button 'Dokument bearbeiten' anbieten. Den Button kann man durch einen Doppelklick auf die Zeile noch als Alternative anbieten.

Somit hättest Du nur das 'Problem', eine klickbare Checkbox in ein StringGrid zu integrieren. Das ist einfach und wurde vor kurzem hier behandelt.

Allerdings ist eine VST langfristig die bessere Wahl, denn es gilt hier: heute geknobelt und morgen profitiert. Sag deinem Chef einfach, das das kompliziert ist (da er -soweit ich mich erinnere- kein Geld für gute Komponenten ausgeben will). ;-)

Blup 22. Okt 2014 08:46

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Auf keinen Fall TStringGrid, dann schon eher TDrawGrid.

jaenicke 22. Okt 2014 09:08

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Die Virtual TreeView benutzen wir oft und intensiv in unseren Projekten um genau Darstellungen wie die genannten zu erzeugen. Auch mit ComboBoxen, Nachladen im Hintergrund mit Threads, riesige filterbare Listen, ...
Der Vorteil gegenüber TListView oder TStringGrid sind nicht nur die vielen Features, sondern auch die enorme Geschwindigkeit. Mal eben 10.000 Einträge inkl. Livefilter und Gruppierung anbieten, kein Problem...

Dejan Vu 22. Okt 2014 09:19

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Zitat:

Zitat von jaenicke (Beitrag 1276976)
Mal eben 10.000 Einträge inkl. Livefilter und Gruppierung anbieten, kein Problem...

Na ja. Das kann die TListView doch auch. Zumindest die 10000000000 Einträge mit Livefilterung (OwnerData=true).

jaenicke 22. Okt 2014 21:39

AW: mit welcher Standard-Komponente würdet ihr das lösen?
 
Nur signifikant langsamer, auch mit Ownerdata...


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