![]() |
Untermenü in Combobox
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: ![]() Ähnlich sieht es aber auch mit Glasgewebe aus ( unidirektional, bidirektional etc. ) Darum nun meine Frage, ob jemand eine (natürlich möglichst einfache :wink:) 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 |
AW: Untermenü in Combobox
Zitat:
![]() 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. |
AW: Untermenü in Combobox
Die JVCL enthält auch eine ComboBox mit einem Baum. (TDBLookupTreeViewCombo)
Und auch von TMS gibt es etwas ![]() |
AW: Untermenü in Combobox
Zitat:
|
AW: Untermenü in Combobox
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 |
AW: Untermenü in Combobox
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!
Vielen Dank für eure Hilfe! Ich habes im Moment erst mal so gelöst: Die entsprechende Spalte bekommt:
Delphi-Quellcode:
und die entsprechende GridButtonClick sieht so aus bzw. fängt so an:
ButtonStyle CBSButton
Delphi-Quellcode:
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.
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 sieht dann so in etwa aus: Anhang 41934 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 |
AW: Untermenü in Combobox
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. :thumb: |
AW: Untermenü in Combobox
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 :) |
AW: Untermenü in Combobox
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... :wink: Gruß, Oliver |
AW: Untermenü in Combobox
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:00 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