CComboBox: Zur Laufzeit von reiner Auswahl auf Auswahl mit Eingabefeld und zurück wechseln
-
Hallo!
Ich möchte gerne zur Laufzeit den Style umschalten.
So weit bin ich:if (fAktiv) { m_cbxRngnr.ModifyStyleEx(CBS_DROPDOWNLIST, CBS_DROPDOWN); } else { m_cbxRngnr.ModifyStyleEx(CBS_DROPDOWN, CBS_DROPDOWNLIST); }ModifyStyle habe ich auch schon ohne Erfolg versucht.

Habe ich etwas vergessen? Oder den falschen Befehl?
-
versuch mal ein redraw. komm drauf an, was für ein control das ist. ich vermute mal CComboBox ->
RedrawWindow()ansonsten prüfe doch mal mit breakpoints, ob die methoden überhaupt erreicht werden.
gruß
Daniel
-
Ja, es ist eine ComboBox (siehe Betreff
).
Ich habe jetzt unter der if noch diese Zeile:m_cbxRngnr.RedrawWindow();Und per Breakpoint habe ich gesehen, dass ich auf jeden Fall durch die else laufe, es müsste also eine reine Auswahlliste sein - aber ich kann fröhlich drin rum tippen.

-
Hm, ich habs jetzt gerade selber ausprobiert. Anscheinend können nicht alle Styles zur Laufzeit mit ModifyStyle geändert werden. Vielleicht weiß jemand mehr?
Das Redraw ist dann natürlich hinfällig.gruß
Danielps: richtiger wäre ModifyStyle anstatt ModifyStyleEx
-
DanielusITF schrieb:
Hm, ich habs jetzt gerade selber ausprobiert. Anscheinend können nicht alle Styles zur Laufzeit mit ModifyStyle geändert werden. Vielleicht weiß jemand mehr?
Ich hoffe es.

Das Redraw ist dann natürlich hinfällig.
Okay, dann mache ich es weg.
gruß
Danielps: richtiger wäre ModifyStyle anstatt ModifyStyleEx
Gut, dann ändere ich das mal zurück.
Zur Not werde ich einfach 2 Comboboxen machen und mit ShowWindow arbeiten.

-
du kannst ja (solange noch kein besserer vorschlag da ist) versuchen mit create das dropdown immer neu zu erzeugen.
-
Keine weiteren Ideen?

Neu erzeugen ist doof, weil ich es dann auch immer wieder neu füllen müsste.
Dann lieber eine weitere Combobox dazu.