Estimados Colegas,
Estoy teniendo un inconveniente con la clase DBCOMBO y sus metodos gotfocus() y lostfocus().
En ningún caso se realiza la acción esperada.
Ejemplo propuesto:
REDEFINE DBCOMBO oComb[5] VAR cCampo ;
ITEMS aItems ;
LIST alist ;
ID 4053 OF oFil UPDATE WHEN lContenida
oComb[5]:blostfocus := { || AgregaContenido() }
-----------
Function AgregaContenido()
Alert("PIERDE FOCO")
retu .t.
El objetivo es que cuando el DBCOMBO pierda el foco o bien se seleccione un item, ejecute cierta función por ejemplo yo estoy tratando de ejecutar AgregaContenido() pero sin ningún resultado, simplemente no se ejecuta.
También me seria de utilidad algún ejemplo de como utilizar los eventos bkeychar para esta misma clase.. necesito capturar cuando se presiona VK_ENTER o se selecciona un item con el mouse...
Teniendo en cuenta información que encontré en este foro realice la siguiente modificación en la clase DBCOMBO para el método LostFocus() pero sin resultados positivos.
METHOD LostFocus() CLASS TDBCombo
local nAt := ::SendMsg( CB_GETCURSEL )
if nAt != CB_ERR
::nAt = nAt + 1
Eval( ::bSetGet, ::aItems[ ::nAt ] )
else
Eval( ::bSetGet, GetWindowText( ::hWnd ) )
endif
//aqui se evalua el blostfocus
if ! Empty( ::bLostFocus )
return Eval( ::bLostFocus, Self, ::hWnd )
endif
//fin modificacion
::cSearchKey:=""
return nil
Quedo atento a cualquier comentario,ayuda o modificación que me permita utilizar de forma correcta los DBCOMBOS
Saludos cordiales Mariano