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 welches Control geeignet - Entscheidungshilfe (https://www.delphipraxis.net/126252-welches-control-geeignet-entscheidungshilfe.html)

haentschman 21. Dez 2008 11:42


welches Control geeignet - Entscheidungshilfe
 
Liste der Anhänge anzeigen (Anzahl: 1)
einen schönen Sonntag Euch allen... :wink:

Ich bin schlimmer als eine Frau im Schuhladen... ich kann mich nicht entscheiden. :evil:

die Situation:
- ich habe eine Form für die Einstellungen meines Programmes.
- die verschiedenen Einstellungen sind per PageControl von einander getrennt.
- da im Laufe der Entwicklung haufenweise dazugekommen ist habe ich inzwischen 3! Reihen mit Tabs voll.
- das ist mir einfach zu unübersichtlich.
--> daher wollte ich die Darstellung in etwa wie bei den Optionen im Delphi oder wie im Anhang darstellen.

das Problem:
- einige Einstellungen dürfen nur verfügbar sein, wenn eine Datenbankverbindung besteht.
- das habe ich derzeit mit TabVisible gelöst.

die Lösung:
- sollte ein Control sein wo ich einzelne Einträge disablen oder ausblenden kann (vorzugsweise über einen Index)
- mit TreeView (Standard) geht das nicht so einfach. Nur immer den kompletten Tree entsprechend der Anforderung zusammenstellen.
- Listbox... kann ich auch keine einzelne Zeile disablen. Oder ich müßte die Listbox immer entsprechend einlesen.

:?: welches Control würdet Ihr empfehlen ? JVCL,TMS ComponentPack vorhanden

Danke für Infos... :hi:

DeddyH 21. Dez 2008 11:46

Re: welches Control geeignet - Entscheidungshilfe
 
Wie wäre es denn mit einer Outlookbar? Ob man da aber einzelne Kategorien disablen kann, weiß ich jetzt auch nicht aus dem Stegreif.

haentschman 21. Dez 2008 11:49

Re: welches Control geeignet - Entscheidungshilfe
 
Danke für die schnelle Antwort...

...hatte ich auch schon im Sinn, da ich auch auf meiner Hauptseite solches verwende.
Aber irgendwie fand ich das dann zu übertrieben, zu "wuchtig".

...bevor ich mir meine Form abschieße, sollte ich vieleicht auf einer leeren Form optische Tests machen. :P

DeddyH 21. Dez 2008 11:56

Re: welches Control geeignet - Entscheidungshilfe
 
Ich habe hier einen Code gefunden, der bei einer Combobox einzelne Items disablen kann. Das müsste sich doch auch auf eine Listbox übertragen lassen (wobei die erwähnte Outlookbar aber IMHO "moderner" aussieht).

alzaimar 21. Dez 2008 12:17

Re: welches Control geeignet - Entscheidungshilfe
 
Verwende eine TreeView. Das hat zudem den Vorteil, das Du deine Eigenschaftsseiten hierarchisch gruppieren kannst. Das erhöht die Übersichtlichkeit,
Wenn Du Dir die Arbeit vereinfachen willst, verwende die Icons/Bitmaps, um einzelne Einträge als 'disbled' zu markieren.
Wenn Du viel Zeit hast, dann zeichne die Einträge selbst. Mir würde Folgendes reichen:
Delphi-Quellcode:
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  If NodeIsDisabled(Node) Then
    Sender.Canvas.Font.Color := clSilver;
end;
Die einzelnen Eigenschaftsseiten stellst Du nach wie vor mit einem Pagecontrol dar, nur das die Tabs unsichtbar sind.

stOrM 21. Dez 2008 12:33

Re: welches Control geeignet - Entscheidungshilfe
 
Zitat:

Zitat von alzaimar
Verwende eine TreeView. Das hat zudem den Vorteil, das Du deine Eigenschaftsseiten hierarchisch gruppieren kannst. Das erhöht die Übersichtlichkeit,
Wenn Du Dir die Arbeit vereinfachen willst, verwende die Icons/Bitmaps, um einzelne Einträge als 'disbled' zu markieren.
Wenn Du viel Zeit hast, dann zeichne die Einträge selbst. Mir würde Folgendes reichen:
Delphi-Quellcode:
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  If NodeIsDisabled(Node) Then
    Sender.Canvas.Font.Color := clSilver;
end;
Die einzelnen Eigenschaftsseiten stellst Du nach wie vor mit einem Pagecontrol dar, nur das die Tabs unsichtbar sind.

Hi,
ich würd ein VST nehmen, mit Radio und Checkbuttons, sowie Editoren.
In den VST Demos ist so ziemlich alles dabei was Du brauchen würdest. Abgesehen davon könntest Du auch PNG's nehmen, sieht meiner meinung nach besser aus.

Gruß
s!

lbccaleb 21. Dez 2008 12:45

Re: welches Control geeignet - Entscheidungshilfe
 
Zitat:

Zitat von alzaimar
Verwende eine TreeView. Das hat zudem den Vorteil, das Du deine Eigenschaftsseiten hierarchisch gruppieren kannst. Das erhöht die Übersichtlichkeit,
Wenn Du Dir die Arbeit vereinfachen willst, verwende die Icons/Bitmaps, um einzelne Einträge als 'disbled' zu markieren.
Wenn Du viel Zeit hast, dann zeichne die Einträge selbst. Mir würde Folgendes reichen:
Delphi-Quellcode:
procedure TForm1.TreeView1CustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  If NodeIsDisabled(Node) Then
    Sender.Canvas.Font.Color := clSilver;
end;
Die einzelnen Eigenschaftsseiten stellst Du nach wie vor mit einem Pagecontrol dar, nur das die Tabs unsichtbar sind.

Das würd ich dir auch empfehlen! Auch wenn du viele Einstellmöglichkeiten hast, bahälst du immer den überblick, und du kannst zur not ganze (nicht so benötigte)Zweige eingeklappt lassen, um die übersicht deutlich zu erhöhen!

Genauso hatte ich es auch gemacht, bei einem Programm wo ein ähnliches Prpblem vorlag.


Schönen Sonntag :)

haentschman 21. Dez 2008 12:46

Re: welches Control geeignet - Entscheidungshilfe
 
...eigentlich solltet Ihr mir die Entscheidung leichter machen :P

...ich probiere mal verschiedene Varianten durch.

- OutlookBar... habe ich nur die JvOutlookBar zur Verfügung ---> paßt nicht wirklich ins gesamte Design (Knöpfe nicht flach).
- TreeList, TreeView...optische Darstellungsprobleme (nur mit Repaint kpl.) :gruebel:

...ich such mal weiter.

Danke

DeddyH 21. Dez 2008 12:48

Re: welches Control geeignet - Entscheidungshilfe
 
Die VST-Empfehlung war aber schonmal nicht schlecht, mit dem Teil kannst Du ja so ziemlich alles anstellen, was Dir so einfällt.

alzaimar 21. Dez 2008 12:49

Re: welches Control geeignet - Entscheidungshilfe
 
Zitat:

Zitat von haentschman
- TreeList, TreeView...optische Darstellungsprobleme (nur mit Repaint kpl.) :gruebel:

Echt? Ich habs eben mal probiert. sieht eigentlich ganz gut aus.

haentschman 21. Dez 2008 13:01

Re: welches Control geeignet - Entscheidungshilfe
 
Liste der Anhänge anzeigen (Anzahl: 1)
VST würde ich mir mal ansehen...

1 Frage dazu:
- ist ein kommerzielles Projekt - Lizenz dafür ?

PS: eigentlich wollte ich wenig Fremdkomponenten (bzw. querbeet) benutzen. Für die Zukunft wollte ich eigentlich bei Standardkomponenten bzw. auf die TMS Komponenten zurückgreifen. Eben wegen Lizenzfragen.

Zitat:

Echt? Ich habs eben mal probiert. sieht eigentlich ganz gut aus.
Ich hatte auch schon mal einen anderen Thread dazu. Ich weiß nicht ob das an meinem System liegt aber mit Tree´s habe ich so meine optischen Probleme.

egal welchen Tree ich benutze kommen solche Sachen wie im Anhang raus. Nur mit Repaint (auch nach Scrollen) ist das in den Griff zu kriegen. :?

DeddyH 21. Dez 2008 13:04

Re: welches Control geeignet - Entscheidungshilfe
 
Der VST ist OpenSource. Siehe hier.

lbccaleb 21. Dez 2008 13:12

Re: welches Control geeignet - Entscheidungshilfe
 
Um nochmal auf den TreeView zurück zu kommen:

schau dir bei den Jedis mal die Komponente TJVPageList in zusammenarbeit mit TJVPageListTreeView an!

Dort brauchst du bloß dein TreeView füllen, und den passenden PageListen zuordnen!

haentschman 21. Dez 2008 13:19

Re: welches Control geeignet - Entscheidungshilfe
 
Zitat:

Der VST ist OpenSource.
...also MPL 1.1 --> im ABOUT erwähnen und fertig ?

DeddyH 21. Dez 2008 13:28

Re: welches Control geeignet - Entscheidungshilfe
 
Die Verpflichtung dazu hab ich zwar auf die Schnelle nicht lesen können, aber schaden kann es ja nicht ;)

haentschman 21. Dez 2008 13:33

Re: welches Control geeignet - Entscheidungshilfe
 
Zitat:

schau dir bei den Jedis mal die Komponente TJVPageList in zusammenarbeit mit TJVPageListTreeView an
...ist eine gute Kombination. :thumb:
- würde die Umstellung sehr vereinfachen.
- jetzt muß ich nur noch schauen wie ich einzelne Nodes disable

PS: Tree´s und mit Nodes arbeiten ---> Nachholbedarf :oops:

haentschman 24. Dez 2008 08:19

Re: welches Control geeignet - Entscheidungshilfe
 
Guten Morgen...

Update:
- ich habe mich für TJVPageList mit TJVPageListTreeView entschieden und umgesetzt.
- soweit so gut funktioniert das auch.

Danke für die Denkanstöße und frohe Weihnachten... 8)


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:15 Uhr.

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