XbpCombobox mit mehreren selektierten Einträgen [erledigt]

Grafische Primitive, XbaseParts und Darstellungsfragen allgemein.

Moderator: Moderatoren

Antworten
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

XbpCombobox mit mehreren selektierten Einträgen [erledigt]

Beitrag von Werner_Bayern »

Servus,

hab die Anforderung, eine Combobox / Dropdown (ja, ins SLE müssen Eingaben möglich sein) zu erweitern. Aktuell kann man damit ja einen Eintrag auswählen oder reinschreiben. Z. B. geht's um die Farbe eines Artikels. Bisher hatte jeder Artikel max. 1 Farbe. Die Combo ist selbstlernend, wird eine neue Farbe eingetippt, kann die beim nächsten Male auch aus der Dropdown ausgewählt werden - mache ich über eine ini-Datei.

Jetzt sollen aber mehrere Farben pro Artikel möglich sein. Das geht ja mit einer Combobox nicht. Eine Listbox scheidet eigentlich aus, da erstens der Platz in der Höhe dafür nicht wirklich da ist und zweitens die Anzahl der Einträge stark variieren können, was dann bei 8 Combos in dem Dialog blöd aussieht, bzw. unübersichtlich wird. Man sollte die 1-3 selektierten Eigenschaften schon auf den 1. Blick sehen können.

Es wäre ok, wenn im SLE drinsteht: "rot, blau, grün", oder halt nur "weiß".

In den Windows Guidelines hab ich nicht wirklich was dazu gefunden.

Doch Listbox mit Button "Wert hinzufügen"?

Oder SLE und Button, der eine Listbox dazu zeigt und die Selektion dann ins SLE übernimmt?

Danke für eure Vorschläge!
Zuletzt geändert von Werner_Bayern am Di, 31. Jul 2018 16:49, insgesamt 1-mal geändert.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von Werner_Bayern »

Eigentlich sowas:
ctrl-list-views-image29.png
ctrl-list-views-image29.png (4.97 KiB) 9729 mal betrachtet
Gibt's ja als Asset...
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von AUGE_OHR »

hi,
Werner_Bayern hat geschrieben: Do, 26. Jul 2018 22:48 Eigentlich sowas:
zunächst mal hab ich geschaut ob es Windows Konstanten für ListBox/Combobox gibt die eine Checkbox setzten ... scheint nicht so zu sein :(

dann habe ich an OWnerdrawn gedacht aber ich finde keinen XBP_DRAWSTATE_* dafür :shock:
wenn ich mir das aber ansehe überlege ich warum eine Checkbox denn bei XBPLISTBOX_MM_MULTIPLE sind doch ehe die Einträge markiert !
Listbox_Checkbox.jpg
Listbox_Checkbox.jpg (38.18 KiB) 9722 mal betrachtet
Listbox_MultiSelect_Ownerdraw.JPG
Listbox_MultiSelect_Ownerdraw.JPG (42.16 KiB) 9722 mal betrachtet
Werner_Bayern hat geschrieben:Gibt's ja als Asset...
dann schau da doch mal rein wie es dort gemacht wird.
gruss by OHR
Jimmy
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von brandelh »

Hast du mal versucht bei der Listbox der Combobox die Eigenschaft oComboBox:XbpListBox:markMode anzupassen ?
XbpListBox:markMode
Determines the operating mode for marking and selecting items
Attribute: EXPORTED
Data type: Numeric (XBPLISTBOX_MM_SINGLE)


Description
Constants listed in the following table can be used for :markMode. They determine the mode for marking and selecting items in a list box, and are defined in XBP.CH.

Constants for :markMode
Allerdings weiß ich jetzt nicht, wie die Auswahl in die Komma separierte Liste kommen soll.

Wenn nicht, mach selbst eine Kombination aus XbpSLE, XbpPushButton und XbpListbox ...
über den Butten schaltest du die die Anzeige einer Listbox ein (eigenes Fenster), nach oder währende der Auswahl wird der Inhalt der SLE angepasst.

In etwa so in der Art:

viewtopic.php?f=16&t=5276&p=67319&hilit ... %2A#p67319
Gruß
Hubert
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von Tom »

Ich verwende für solche Aufgaben XbpBrowses mit Ownerdrawing und/oder der XbpSelectColumn aus den Packs, es gehen aber auch Bitmap-Spalten mit Checkbox-Screenshots, die über logische Variablen gesteuert werden. Das ganze wird über einen Popup-Button oder die entsprechenden Events unterhalb des SLE eingeblendet oder standardmäßig angezeigt.
Herzlich,
Tom
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von Werner_Bayern »

brandelh hat geschrieben: Fr, 27. Jul 2018 6:48 Hast du mal versucht bei der Listbox der Combobox die Eigenschaft oComboBox:XbpListBox:markMode anzupassen ?
Das war gleich mein 1. Versuch. Aber geht ja logischerweise nicht, wie soll die Combobox dann mehrere selektierte Einträge im SLE anzeigen und wie soll das auf- und zuklappen gesteuert sein?

Man bräuchte ein List View dazu.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von Werner_Bayern »

Servus Tom,

XbpBrowse als Erstcontrol kommt nicht in Frage wg. der Höhen-Beschränkung.

Habs jetzt über ein SLE mit Pushbutton gelöst, der dann eine Listbox anzeigt und wieder verschwinden lässt.

Aber schön und professionell ist das noch nicht...
test.PNG
test.PNG (2.59 KiB) 9677 mal betrachtet
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von Jan »

Werner,

ich hab mir mal was ähnliches gebaut. SLE mit Browse (weil mir in dem Fall das Füllen der Listbox wesentlich zu lange dauert). Das sieht optisch fast exakt wie eine ComboBox aus. Ich hab mir halt einen Button gebaut neben das SLE, de wie der Button in der ComboBox aussieht. Dann sieht man den Unterschied nur noch, wenn man weiß nach was man schauen muß.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von Werner_Bayern »

AUGE_OHR hat geschrieben: Fr, 27. Jul 2018 1:27 dann schau da doch mal rein wie es dort gemacht wird.
test.PNG
test.PNG (11.78 KiB) 9668 mal betrachtet
Löst aber meine Höhen-Beschränkung nicht, es müsste aufklappbar sein.
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von Werner_Bayern »

Jan hat geschrieben: Fr, 27. Jul 2018 12:36 Werner,

ich hab mir mal was ähnliches gebaut.
Servus Jan,

hast ein Bild für uns?
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von Jan »

Moin Werner,

kann ich Dir heute Abend geben.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von Jan »

Werner,

ich schulde Dir noch was:

Oben meine selbstgebastelte Combobox, bestehend aus einem XbpSLE, einem XbpBrowse, und einem Bitmap. Unten die Standard-XbpComboBox:
ComboBox.jpg
ComboBox.jpg (9.7 KiB) 9597 mal betrachtet
Und so sieht die dann ausgeklappt aus. Da passt die Breite des Bitmap nicht 100%ig. Sollte etwas schmaler sein:
ComboBox Ausgeklappt.jpg
ComboBox Ausgeklappt.jpg (15.1 KiB) 9597 mal betrachtet
OK, nicht wirklich sehr identisch. Mit etwas Feinarbeit bekommt man das sicher etwas besser hin. Aber soweit schon OK für mich.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von AUGE_OHR »

hi,

ich habe noch mal paar Test gemacht.

1.) Combobox Ownerdraw als Procedure
2.) Combobox Ownerdraw als CLASS

zu 1.) irgendwas klappt da mit der Höhe nicht -> "Mini" Schrift
zu 2.) alles OK ... aber wie Multi-Select ?

sobald ich ENTER drücke oder ein neues Item anklicke geht die Listbox "zu"

das so was wohl trotzdem geht sehe ich hier
https://www.codeproject.com/Articles/11 ... Listbox-an
Bild

ich habe mir mal den Source gezogen und werde mir mal ansehen ob ich das mit meiner DXE_Combobox machen kann.
gruss by OHR
Jimmy
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von Werner_Bayern »

Jan hat geschrieben: Mo, 30. Jul 2018 22:05 Werner,

ich schulde Dir noch was:
Servus Jan,

danke. Aber da kann man doch auch nicht mehrere Einträge selektieren?
es grüßt

Werner

<when the music is over, turn off the lights!>
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von Jan »

Hallo Werner,

wie ich schon schrieb - ich hab da einen normalen XbpBrowse eingebaut.

Du müsstest da vermutlich eine XbpListbox einbauen. Und je nach dem, was Du darin machst, das XbpSle entsprechend aktualisieren. Das sollte ja relativ einfach machbar sein. Die XbpComboBox hat auch eine XbpListbox eingebaut. Aber die ist natürlich so konfiguriert wie man das von einer normalen ComboBox erwarten würde. Die kannst Du also nicht verwenden sondern mußt die Parts selber bauen und selber bestimmen, was jeweils bei Aktionen in dem anderen Part geschehen soll. Also z. B. die Inhalte aller in der XbpListbox markierten Zeilen zu einem String zusammen stellen (bei :itemMarked() ein :getData() machen und per :getItem() den String zusammenstellen), und den dann per oSle:setData() in das SLE einbauen. Mal so ins Blaue geraten.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
HaPe
1000 working lines a day
1000 working lines a day
Beiträge: 995
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz
Hat sich bedankt: 17 Mal
Danksagung erhalten: 15 Mal

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von HaPe »

Hallo Werner !
Es wäre ok, wenn im SLE drinsteht: "rot, blau, grün", oder halt nur "weiß".
Doch Listbox mit Button "Wert hinzufügen"?
Oder SLE und Button, der eine Listbox dazu zeigt und die Selektion dann ins SLE übernimmt?
Für sowas hatte ich in einem Projekt folgende Lösung eingesetzt:
MoverBox.jpg
MoverBox.jpg (133.03 KiB) 9544 mal betrachtet
Besteht aus einem SLE, einem Button und die MoverBox aus zwei ListBoxen.
Links ist die Gesamtauswahl und rechts die Auswahl für den aktuellen Datensatz.

Ich habe mir dazu die MoverBox-Klasse erstellt welche ich in der jeweiligen Applikation passend parametriere.
--
Hans-Peter
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: XbpCombobox mit mehreren selektierten Einträgen

Beitrag von Werner_Bayern »

Danke an alle, so ähnlich (SLE, Button und Listbox) hab ich es dann auch gelöst - siehe oben.
es grüßt

Werner

<when the music is over, turn off the lights!>
Antworten