[wxWidgets] Frage zur Auswertung einer wxCheckListBox
-
Hallo,
ich hab da mal eine Frage zu der wxCheckListBox Klasse. Ist es möglich die angeklickten Einträge der wxCheckListBox mittels einer Funktion abzurufen ohne immer die Kompletten Einträge der wxCheckListBox durchzulaufen und mit der Funktion IsChecked zu überprüfen ob das Element angeklickt wurde oder nicht.
-
Versuchs mal mit wxListBox::GetSelections
http://docs.wxwidgets.org/stable/wx_wxlistbox.html#wxlistboxgetselectionsAnsonsten gibts das auch als wxFunktion.
-
phlox81 schrieb:
Versuchs mal mit wxListBox::GetSelections
http://docs.wxwidgets.org/stable/wx_wxlistbox.html#wxlistboxgetselectionsMit GetSelections bekomme ich leider nur die zu dem Zeitpunkt Selektierten Datensätze zurück und nicht die mit dem Status checked soweit ich das gesehen habe.
-
Überdeckt sich das nicht?
Dann müsstest du halt nur noch die Prüfen.Also ich hab mal bei mir geschaut, wenn ich wxGetMultipleChoices verwende klappt das:
wxArrayString files; wxDir::GetAllFiles(dir,&files); wxArrayInt sel; if(wxGetMultipleChoices(sel,"Select the files to convert to resources", "bin2c GUI",files) == 0) return; for(size_t i =0, s = sel.Count(); i < s; i++) lb_files->Append(files[sel[i]]);
-
Nein, leider deckt sich das überhaupt nicht. Es wird mir da wirklich nur zurückgegeben welche Einträge selektiert wurden. Für mich macht das an dieser Stelle zwar kein Sinn das dies so ist, aber damit muß man ja leben.
Die Lösung mit wxGetMultipleChoices bringt mit leider auch nichts, da die Liste in einem Frame eingebunden ist.
Mhhh, eventuell noch jemand ne Idee? Zur Zeit sieht es wirklich so aus als müsse man über alle Einträge drüber iterieren.
-
Laut Doku kann ich auch nichts finden, aber das durch alle Items laufen und IsChecked aufrufen ist ja auch nicht kompliziert.
-
Ansonsten müsstest du halt ne eigene Liste führen, und die "Check" Events abfangen.
-
Softwaremaker schrieb:
Laut Doku kann ich auch nichts finden, aber das durch alle Items laufen und IsChecked aufrufen ist ja auch nicht kompliziert.
Nein, natürlich ist dies nicht kompliziert, aber es verwundert mich doch sehr das so etwas nicht direkt implementiert ist. Ein weiterer Punkt ist auch das markieren mittels Leertaste, dies nutzt man ja ebenfalls sehr oft, aber auch dies geht nicht.
Hab mir jetzt eine Funktion geschrieben dir mir ein Array mit den markierten Einträgen zurück gibt, aber wie gesagt, mich verwundert dies doch sehr das sowas nicht direkt als funktion enthalten ist.
-
Hm, ja, manchmal lässt wx zu wünschen übrig. Aber vielleicht schaust du einfach mal in die Sourcen, kann auch sein das das nicht dokumentiert ist.
Mich hätte z.b. nicht gewunder, wenn GetSelections funktioniert hätte.
-
phlox81 schrieb:
Hm, ja, manchmal lässt wx zu wünschen übrig. Aber vielleicht schaust du einfach mal in die Sourcen, kann auch sein das das nicht dokumentiert ist.
Mich hätte z.b. nicht gewunder, wenn GetSelections funktioniert hätte.Ja, manchmal denkt man nur das kann doch nicht so sein, aber ok.
An GetSelections hab ich auch im ersten moment gedacht, war dann aber Pustekuchen.
Das wäre natürlich ne Idee mal in die Sourcen zu schauen.