Come posso ottenere il valore (stringa) della selezione corrente in una casella combinata?

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

  •  20-08-2019
  •  | 
  •  

Domanda

Come posso ottenere il valore (stringa) della selezione corrente in una casella combinata?

(Non l'indice intero)

È stato utile?

Soluzione

Potrebbe esserci un modo migliore (il mio MFC è un po 'arrugginito), ma sembra che dovresti essere in grado di chiamare CComboBox::GetLBText(), passando la selezione corrente usando CComboBox::GetCurSel().

Altri suggerimenti

Anche un semplice vecchio GetWindowText funziona.

Modifica: Come sottolinea ajryan, CBN_SELCHANGE in realtà non non funziona in un WM_COMMAND gestore, perché la nuova selezione ha avuto effetto ma il testo della finestra non è stato aggiornato con il testo della nuova selezione quando viene inviato <=>.

Usa GetLBText, passando l'indice e un oggetto CString.

modifica: troppo lento!

CB_GETCURSEL restituisce l'indice intero CB_GETLBTEXT restituisce la stringa in <=>

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top