2009-01-26 9 views

Répondre

20

Il pourrait y avoir une meilleure façon (mon MFC est un peu rouillé), mais il semble que vous devriez être en mesure d'appeler CComboBox::GetLBText(), faisant passer la sélection actuelle à l'aide CComboBox::GetCurSel().

+0

Hmm, ça marche. Merci –

+2

Vous dites probablement "Hmm" parce que vous essayiez de voir la nouvelle valeur dans un gestionnaire CBN_SELCHANGE. Cela est déclenché/avant/la modification est validée, mais GetLBText a déjà accès à ce point. –

3

Utilisez GetLBText en transmettant l'index et un objet CString.

edit: trop lent!

0

CB_GETCURSEL retourne l'index entier chaîne CB_GETLBTEXT de retour à CB_GETCURSEL

6

A vieux GetWindowText plaine des œuvres aussi.

Edit: en tant que points ajryan dehors, GetWindowText fait ne le fait pas travail dans un gestionnaire CBN_SELCHANGE, parce que la nouvelle sélection a pris effet, mais le texte de la fenêtre n'a pas été mis à jour avec le texte de la nouvelle sélection lorsque le WM_COMMAND est envoyé.

+2

Not in ON_CBN_SELCHANGE –

+1

Hmmm. On dirait que tu as raison. Je suppose que je n'ai jamais essayé ça avant. Un peu surprenant, car il y a généralement une notification «changeante» avant que les modifications ne soient validées et une notification «modifiée» pour la suite, mais cela ne semble pas être le cas pour les combos. – Joel

Questions connexes