Posts Tagged ‘MFC’

CComboBox zeigt keine Items… oder doch?

Sunday, February 7th, 2010

Mein erster Kontakt mit der MFC-Klasse CComboBox war etwas frustrierend. Ich wollte eine ComboBox in einem Dialogfeld mit Werten aus einem CRecordSet fuellen. Habe also eine Controlvariable zur Dialogklasse hinzugefuegt und wollte diese dann in der OnInitDialog()-Funktion des Dialoges mit Werten fuellen. Etwas vereinfacht sah das etwa so aus:

Der Compiliervorgang brachte keinen Fehler. Der Dialog wurde angezeigt, die comboBox ebenso doch sie war leer. Klickt man auf den Pfeil wo eigentlich die Liste mit eben hinzugefuegten Werten aufklappen sollte passiert nichts. Ich habe mich also weiter durch die Dokumentation gefressen aber nach allem rumprobieren musste AddString einfach die richtige Funktion zum hinzufuegen sein und OnInitDialog() auch die richtige Stelle dafuer.

Loesung:

Das problem war, dass die Hoehe der Aufklappliste nach Erzeugen einer ComboBox auf 0 gesetzt ist. *facepalm* Warum? – Keine Ahnung… Warum das nirgends Dokumentiert ist? – Keine Ahnung… Abhilfe schafft ein kurzer Besuch im DialogEditor. Zunaechst die ComboBox auswaehlen…MFC CComboBox

… und anschliessend auf den DropDown-Pfeil klicken. Die Markierung der ComboBox aendert sich und man kann nun am unteren, mittleren Quadrat die Hoehe der AufklappListe einstellen…

MFC CComboBox Resize
… und siehe da das Hinzufuegen der Items hat geklappt, man hat sie nur nicht gesehen da die Hoehe der Aufklappliste 0 war.