Comment puis-je obtenir la valeur (chaîne) de la sélection actuelle dans une liste déroulante?

StackOverflow https://stackoverflow.com/questions/481255

  •  20-08-2019
  •  | 
  •  

Question

Comment puis-je obtenir la valeur (chaîne) de la sélection actuelle dans une liste déroulante?

(pas l'index entier)

Était-ce utile?

La solution

Il existe peut-être un meilleur moyen (mon MFC est un peu rouillé), mais il semble que vous devriez pouvoir appeler CComboBox::GetLBText(), en lui transmettant la sélection actuelle à l'aide de CComboBox::GetCurSel().

Autres conseils

Un ancien vieux GetWindowText fonctionne également.

Modifier: Comme le souligne ajryan, CBN_SELCHANGE en réalité ne ne fonctionne pas dans un gestionnaire WM_COMMAND, car 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 <=> est envoyé.

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

modifier: trop lent!

CB_GETCURSEL retourne l'index entier CB_GETLBTEXT renvoie la chaîne à <=>

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top