Wie kann ich den Wert (String) der aktuellen Auswahl in einer Combobox erhalten?Wie kann ich den Wert (String) der aktuellen Auswahl in einer Combobox erhalten?
(Nicht der Integer-Index)
Wie kann ich den Wert (String) der aktuellen Auswahl in einer Combobox erhalten?Wie kann ich den Wert (String) der aktuellen Auswahl in einer Combobox erhalten?
(Nicht der Integer-Index)
Es könnte einen besseren Weg geben (mein MFC ist ein bisschen rostig), aber es scheint, wie sollte es möglich sein CComboBox::GetLBText()
zu nennen, ist es die aktuelle Auswahl CComboBox::GetCurSel()
mit geben.
Verwenden Sie GetLBText, übergeben Sie den Index und ein CString-Objekt.
bearbeiten: zu langsam!
CB_GETCURSEL
der Integer Index CB_GETLBTEXT
kehrt String zurück an CB_GETCURSEL
A plain old GetWindowText
Werke auch.
Edit: Als ajryan weist darauf hin, GetWindowText
tatsächlich nicht Arbeit in einem CBN_SELCHANGE
Handler, weil der neue Selektionseffekt aber das Fenster Text übernommen wurde mit dem Text der neuen Auswahl nicht aktualisiert, wenn Die WM_COMMAND
wird gesendet.
Nicht in ON_CBN_SELCHANGE –
Hmmm. Sieht aus, als hättest du recht. Ich glaube, ich habe das noch nie zuvor probiert. Ein wenig überraschend, denn es gibt normalerweise eine "sich ändernde" Benachrichtigung für bevor Änderungen festgeschrieben werden und eine "geänderte" Benachrichtigung für später, aber das scheint nicht der Fall zu sein für Kombinationsfelder. – Joel
Hmm, das funktioniert. Danke –
Sie sagen wahrscheinlich "Hmm", weil Sie versucht haben, den neuen Wert in einem CBN_SELCHANGE-Handler zu sehen. Das ist ausgelöst/bevor/die Änderung wird festgeschrieben, aber GetLBText hat bereits Zugriff auf diesen Punkt .. –