¿Cómo puedo obtener el valor (cadena) de la selección actual en un cuadro combinado?¿Cómo puedo obtener el valor (cadena) de la selección actual en un cuadro combinado?
(no el índice entero)
¿Cómo puedo obtener el valor (cadena) de la selección actual en un cuadro combinado?¿Cómo puedo obtener el valor (cadena) de la selección actual en un cuadro combinado?
(no el índice entero)
Puede haber una manera mejor (mi MFC es un poco oxidado), pero parece que usted debería ser capaz de llamar a CComboBox::GetLBText()
, pasándole la selección actual utilizando CComboBox::GetCurSel()
.
Usa GetLBText, pasando el índice y un objeto CString.
corregir: ¡demasiado lento!
CB_GETCURSEL
devolver el índice entero CB_GETLBTEXT
rendimientos cadena en CB_GETCURSEL
una llanura de edad GetWindowText
obras, también.
Editar: puntos Como ajryan cabo, GetWindowText
realidad no trabajo en un controlador CBN_SELCHANGE
, debido a que la nueva selección ha entrado en vigor, pero el texto de la ventana no se ha actualizado con el texto de la nueva selección cuando se envía el WM_COMMAND
.
No en ON_CBN_SELCHANGE –
Hmmm. Parece que tienes razón. Supongo que nunca lo había intentado antes. Un poco sorprendente, porque generalmente hay una notificación "cambiante" antes de que se realicen cambios y una notificación "modificada" para después, pero ese no parece ser el caso de los cuadros combinados. – Joel
Hmm, eso funciona. Gracias –
Probablemente esté diciendo "Hmm" porque estaba tratando de ver el nuevo valor en un controlador CBN_SELCHANGE. Eso se desencadena/antes/el cambio se confirma, pero GetLBText ya tiene acceso en este punto. –