¿Cómo puedo obtener el valor (cadena) de la selección actual en un cuadro combinado?
-
20-08-2019 - |
Pregunta
¿Cómo puedo obtener el valor (cadena) de la selección actual en un cuadro combinado?
(No es el índice entero)
Solución
Puede haber una mejor manera (mi MFC está un poco oxidado), pero parece que debería poder llamar a CComboBox::GetLBText()
, pasando la selección actual usando CComboBox::GetCurSel()
.
Otros consejos
Un viejo y simple GetWindowText
también funciona.
Editar: Como señala ajryan, CBN_SELCHANGE
en realidad no funciona en un controlador WM_COMMAND
, porque la nueva selección ha tenido efecto pero el texto de la ventana no se ha actualizado con el texto de la nueva selección cuando se envía el <=>.
Use GetLBText, pasando el índice y un objeto CString.
editar: ¡demasiado lento!
CB_GETCURSEL
devuelve el índice entero
CB_GETLBTEXT
devuelve cadena en <=>