Comment puis-je obtenir la valeur (chaîne) de la sélection en cours dans une liste déroulante?
Comment puis-je obtenir la valeur (chaîne de caractères) de la sélection en cours dans une liste déroulante?
(Pas l'index entier)
source d'informationauteur
Vous devez vous connecter pour publier un commentaire.
Il pourrait y avoir une meilleure façon (ma MFC est un peu rouillé), mais il semble que vous devriez être en mesure d'appeler
CComboBox::GetLBText()
en lui passant la sélection actuelle à l'aide deCComboBox::GetCurSel()
.Un simple vieux
GetWindowText
œuvres, trop.Edit: Comme ajryan points,
GetWindowText
fait n'est pas travailler dans unCBN_SELCHANGE
gestionnaire, 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 lors de laWM_COMMAND
est envoyé.Utilisation GetLBText, en passant de l'index et un objet CString.
edit: trop lent!
CB_GETCURSEL
retour à l'index entierCB_GETLBTEXT
renvoie la chaîne de caractères àCB_GETCURSEL