AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Untermenü in Combobox

Ein Thema von Oniessen · begonnen am 2. Okt 2014 · letzter Beitrag vom 4. Okt 2014
Antwort Antwort
Seite 1 von 2  1 2   
Oniessen

Registriert seit: 17. Feb 2010
18 Beiträge
 
#1

Untermenü in Combobox

  Alt 2. Okt 2014, 14:33
Hallo!

Ich bin zwar schon par Jahre hier angemeldet, hab aber nie was geschrieben bzw. die Fragen wurden meist durch g**geln beantwortet.
Ich programmiere vor allem rein hobbymäßig und auch nur von Zeit zu Zeit.

Momentan sitze ich an einem Projekt, zur "Berechnung" bzw. Konstruktion von Sportbögen.
Ich schreibe das Ganze mit Lazarus, denke aber das macht für das Problem keinen Unterschied

Nun habe ich also folgendes Problem:
So ein moderner Bogen wird meist aus mehreren Hölzern und anderen Werkstoffen zusammen laminiert.

In einem 3-Spaltigen Stringgrid möchte ich dazu das Material per Combobox auswählen lassen, und daneben die Stärke bzw. die Verjüngung angeben lassen. Die anderen Informationen werden dann automatisch aus der entsprechenden Material-Klasse bzw. dem Record extrahiert.

Jetzt ist es aber so, das die Material Liste recht lang werden kann/wird. Zum Glück läßt sich aber das Material thematisch in Untergruppen oder Kategorien (Holzarten) z.b. Esche(Ash) aufteilen
(um mal zu schauen, wie viele es davon gibt: http://www.wood-database.com/)
Ähnlich sieht es aber auch mit Glasgewebe aus ( unidirektional, bidirektional etc. )

Darum nun meine Frage, ob jemand eine (natürlich möglichst einfache ) Möglichkeit kennt, einer Combobox bzw. dem Comboboxfeld eines Stringgrids Untermenüs beizubringen.

Eine Möglichkeit wäre sicherlich ein Popup-Menü mit der entsprechenden Zelle bzw Spalte zu verknüpfen.
Da wäre allerdings die Frage, wie stellt man es an, dieses an die Zelle anzupassen also Größe, Position zu setzen??
Auch die Frage wie ich darin mit der Tastatur navigiere stellt sich, denke ich??

Vielleicht hat auch jemand einen anderen Lösungsvorschlag???


Vielen Dank für eure ganz sicher recht zahlreiche und professionelle Hilfe,
Gruß,
Oliver
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.027 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Untermenü in Combobox

  Alt 2. Okt 2014, 14:51
Darum nun meine Frage, ob jemand eine (natürlich möglichst einfache ) Möglichkeit kennt, einer Combobox bzw. dem Comboboxfeld eines Stringgrids Untermenüs beizubringen.
Diverse Komponentensammlungen (z.B. Elpack) hätten eine passende fertige Komponente (http://lmd.de/products/vcl/lmdelpack...reenshots5.php)
Jedoch wird es diese vielfach nicht für Lazarus geben.
D.h. du musst das selbst machen. Edit mit Button nehmen. Bei Druck auf Button dynamisch ein gefülltes Tree-Control einblenden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.823 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Untermenü in Combobox

  Alt 2. Okt 2014, 15:46
Die JVCL enthält auch eine ComboBox mit einem Baum. (TDBLookupTreeViewCombo)
Und auch von TMS gibt es etwas
http://www.tmssoftware.com/site/advtree.asp
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.027 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Untermenü in Combobox

  Alt 2. Okt 2014, 15:52
Die JVCL enthält auch eine ComboBox mit einem Baum. (TDBLookupTreeViewCombo)
Und auch von TMS gibt es etwas
http://www.tmssoftware.com/site/advtree.asp
Alle beide auch für Lazarus?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#5

AW: Untermenü in Combobox

  Alt 2. Okt 2014, 16:17
Wenn es drei Ebenen sind, kann man das auch mit drei Komboboxen machen.
1. Box: Hauptauswahl. Bei Auswahl füllt man die
2. Box: Unterauswahl. Bei Auswahl füllt man die
3. Box: Details.

Wenn in der 1.Box etwas geändert wird, löscht man natürlich die Auswahlliste der 3.Box
  Mit Zitat antworten Zitat
Oniessen

Registriert seit: 17. Feb 2010
18 Beiträge
 
#6

AW: Untermenü in Combobox

  Alt 4. Okt 2014, 07:18
Hallo!

Vielen Dank für eure Hilfe!
Ich habes im Moment erst mal so gelöst:

Die entsprechende Spalte bekommt:
ButtonStyle CBSButton und die entsprechende GridButtonClick sieht so aus bzw. fängt so an:

Delphi-Quellcode:
procedure TMainForm.MyStringGridButtonClick(Sender : TObject; aCol, aRow : Integer);
var
  TopRight :TPoint;
  PopPos : Tpoint;
begin
  TopRight.X := MyStringGrid.CellRect(aCol,aRow).Right;
  TopRight.Y := MyStringGrid.CellRect(aCol,aRow).Top;
  PopPos:= MyStringGrid.ClientToScreen(TopRight);
  PopupMenu1.PopUp(PopPos.x,PopPos.y);
end;
Das ist zwar kein 100% übliches Verhalten, aber ich denke durch den kurzen Mausweg und das direkte andocken ist das ähnlich genug, das ein Anwender sich zurecht findet.

Das sieht dann so in etwa aus:
unbenannt.png

Eine Baumansicht bzw., einen Treeview fände ich in diesem Fall übrigens nicht so toll, da mich ja weniger der Aufbau interessiert, als vielmehr die Übersichtlichkeit - also die Möglichkeit ein bestimmtes Material schneller zu finden/auszuwählen. Darum eben eher Menü->Untermenüs...

Nochmal vielen Dank für eure Hilfe,

Gruß, Oliver
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#7

AW: Untermenü in Combobox

  Alt 4. Okt 2014, 07:45
Ich mag diese Menüs nicht, weil sie sofort wieder zuklappen, wenn man mit der Maus nicht auf dem Menü bleibt. Mich nervt das. Aber das müssen deine Anwender entscheiden.

Ansonsten: Coole Idee.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Untermenü in Combobox

  Alt 4. Okt 2014, 08:56
Ob das wirklich "user-friendly" ist, müssen wohl die Anwender entscheiden.

Ich hätte da wohl ein eigenes Formular vorgeschlagen, wo dann diese Werte gemütlich ausgewählt werden können.
Wer den Namen kennt gibt den direkt in das Feld ein und zu Recherche eben das Formular.

Das ist dann auch mehr ZEN
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Oniessen

Registriert seit: 17. Feb 2010
18 Beiträge
 
#9

AW: Untermenü in Combobox

  Alt 4. Okt 2014, 09:41
Hallo nochmal!

Die gemütliche Möglichkeit über ein eigenes kleines Modales Formular und 3 oder 4 hintereinander geschalteten Combo/Listboxen wäre auch eine Möglichkeit - und vielleicht wird es irgendwann auch dazu kommen, mal sehen, wie lang die "MaterialDatenbank" wird.

Meistens wird die Materialliste des Bogens/Designs so zwischen 3 und 7 Einträgen( entsprechend den Laminierungs Lagen) haben.
Momentan sehe ich es vom Umfang der Liste(n) und auch gerade vom Workflow eher so, wie ein Lesezeichenmenü eines Web-Browsers oder das Startmenü von Windows...
Ich wollte halt einfach nur ein klein wenig komfortabler aus den möglichen 50, 80 oder 100 Einträgen der verfügbaren Materialien auswählen können.
Oder z.b. schnell eine Zeile von z.B Ahorn-wasweisich in Esche-werweisdas ändern können....

Das mit dem Zuklappen habe ich bis jetzt zumindest in diesem Fall übrigens auch nicht beobachten können.
Solange ich nirgendwo hin klicke bleibt zumindest die vorletzte Ebene weiterhin geöffnet.

"User-friendly" finde ich übrigens soweit als möglich auf bereits bekannte Elemente zurück zu greifen bzw. diese Elemente, wenn es nicht anders geht auch so unverändert wie möglich zu gestalten.
Auch möglichst kurze Mauswege und "Augen/Blick-Wege" spielen sicherlich eine Rolle.
Aber wenn wir darüber anfangen zu diskutieren, wird der Thread wahrscheinlich so lang, wie es User hier im Forum gibt...

Gruß, Oliver
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.027 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Untermenü in Combobox

  Alt 4. Okt 2014, 09:46
Ob das wirklich "user-friendly" ist, müssen wohl die Anwender entscheiden.

Ich hätte da wohl ein eigenes Formular vorgeschlagen, wo dann diese Werte gemütlich ausgewählt werden können.
Wer den Namen kennt gibt den direkt in das Feld ein und zu Recherche eben das Formular.

Das ist dann auch mehr ZEN
Das machen wir (wie auch ein bekanntes Finanzprodukt für den Heimgebrauch) auch so. Der User kann Tippen und es erscheint ein gefilterte Auswahlliste. Er kann aber auch einen Dialog öffnen in dem er dann den Eintrag aus einer Baumansicht auswählt. Jeder wie er will und wie fit/wie oft er das machen muss.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf