wxComboBox::SetMaxSize schlägt fehl
-
Hi,
hab ein Problem bei einem Dialog, der auch eine wxCombobox enthält.
Diese fülle ich mit Daten aus dem Programm, wenn nun einer der Einträge länger als die Combobox,
passt sich die Combobox automatisch an. Was bei großen Einträgen zur Folge hat, das sie viel zu groß wird.
Ich möchte die Combobox nun auf eine feste Größe setzen, und dachte ein aufruf zu SetMaxSize müsste es tun:cbb_filename->SetMaxSize(wxSize(130,-1));
Aber genau das tut es nicht. die Combobox wird immer noch größer.
Wie kann ich der Combobox eine fixe Größe vorschreiben?phlox
-
Hi,
kannst du das Verhalten in einem Minimalbeispiel reproduzieren? Hier unter wx-2.8.7 ist die ComboBox nicht zu überreden sich dynamisch zu vergrößern. Egal wie sie initialisiert wird, ob mit wxDefaultSize oder (was ja identisch sein sollte) mit "-1,-1" oder mit fixer Size, sie behält auch bei längeren Einträgen immer ihre Größe bei.
Selbes Verhalten wenn ich aus dem Hauptformular einen Modalen Dialog öffne und dem Dialog ein wxArrayString für die ComboBox mit gebe. So verstand ich das Szenario zumindest.michme
-
So in etwa. Ich habe jetzt bei sizer->Add das Expand Flag weggenommen, was auch irgendwie logisch ist.
Dafür muss ich halt jetzt die Größe der Combobox angeben.Und füllen tue ich sie mit Append.
-
Das ein Sizer mit im Spiel sein muss, ist mir jetzt unterwegs auch in den Sinn gekommen.
Den habe ich halt nicht benutzt in meinem Testprojekt.
Und Append nutze ich auch, nur halt die Überladung mit dem wxArrayString.
michme
-
Ja, wobei ich es etwas kacke finde, das ich jetzt das so festnageln muss.
Ein MaxSize hätte berücksichtigt werden müssen.