# Win API: ComboBox füllen und auslesen?



## Rentierchen (18. April 2005)

Hallöchen, ich suche jetzt schon seit Stunden, aber nirgends finde ich eine Antwort darauf, wie ich bei einem Dialog eine ComboBox fülle oder auslese (letzteres war bisher nicht problematisch, da ersteres ja noch nichtmal ging *g*).

Ich weiß, dass ich mit CheckDlgButton z.B. eine Checkbox aktivieren und mit SetDlgItemText z.B. Text in ein Textfeld schreiben kann.

Mein Ziel ist es nun, beim Laden des Dialogs (WM_INITDIALOG) meine darin befindliche Combobox mit vordefinierten Werten (in dem Fall Strings) zu füllen, aus denen man dann wählen kann.

Natürlich muss ich im Nachhinein auch wissen, welcher Eintrag nun selektiert wurde.  

Ich hoffe, einer von euch hat das schonmal durch und kann mir sagen, welche Funktion ich brauche. Ich sag jetzt schonmal danke. *g*


----------



## Endurion (19. April 2005)

Es gibt keine direkten Befehle für die Combobox. Du musst mit SendMessage arbeiten. Die ComboBox-Messages fangen alle mit CB_ an.

Hier die wichtigsten:
Einen String einfügen: CB_ADDSTRING
Selektion setzen: CB_SETCURSEL
Selektion abfragen: CB_GETCURSEL


----------



## jokey2 (19. April 2005)

Und was ist mir CComboBox::AddString(LPCTSTR lpszString) und CCombobBox::InsertString(int nIndex, LPCTSTR lpszString)?
Die aktuelle Auswahl bekommst Du mit int CComboBox::GetCurSel(). Diese Funktion liefert den Index, den der Ausgewählte String in der Liste hat.


----------



## Rentierchen (19. April 2005)

Ich dank euch! Ich werd das mit den CB_-Messages mal ausprobieren.  

CComboBox::AddString(LPCTSTR lpszString) und CCombobBox::InsertString(int nIndex, LPCTSTR lpszString)
kann ich nicht verwenden, da ich rein prozedural programmiere.


----------

