Page 1 of 1

Combinar teclas dentro xbrowse (Solucionado)

Posted: Fri Aug 28, 2020 7:05 pm
by leandro
Buenas tardes para todos,

como dice el encabezado, necesito lanzar una accion al hacer una combinación de teclas dentro de xbrowse, de momento tengo definida una funcion, pero no lo hace con las combinaciones.

Code: Select all


    oBrwFt := TXBrowse():New( oWChPq )
        ......
    oBrwFt:bKeyDown              := {|nKey,oGet,nCol|TeclasFtr(nKey,oGet,nCol)}
        .......

 
Que esta mal, o hace falta?

Code: Select all

Function TeclasFtr(nKey,oGet,nCol)
Do Case
    Case nKey=VK_RETURN
        manteFacturas()
    Case nKey=VK_DELETE .or. nKey=VK_F5
        borrarFactura()
    Case nKey=VK_F2
        manteFacturas(0)
    Case nKey=VK_F3
        EVAL(cbImpreFt)
    Case nKey=VK_F6
        EVAL(cbEnvio)   
    Case nKey=VK_F7
        EnviarEST(oRsFtr:Fields( "ll_consec" ):Value)
    Case GetKeyState( VK_CONTROL ) .AND. nKey = VK_F9 //intente asi pero no funciona 
        msginfo("lanzar funcion")
EndCase
 

Re: Combinar teclas dentro xbrowse

Posted: Sat Aug 29, 2020 8:56 am
by Manuel Aranda
Hola Leandro,

A ver si esto te da una pista y puedes adaptarlo a tus necesidades

SetKey( VK_F12 , {|| if(GetKeyState( VK_SHIFT ), Calendario(), if(GetKeyState( VK_CONTROL ), EliminarDatos(), Calculador() ) ) } )

Re: Combinar teclas dentro xbrowse

Posted: Sun Aug 30, 2020 12:59 pm
by leandro
Gracias Manuel por responder :D

Fue muy valiosa tu ayuda, quedo resuelto de la siguiente manera:

Code: Select all

Function TeclasFtr(nKey,oGet,nCol)
Do Case
    Case nKey=VK_RETURN
        manteFacturas()
    Case nKey=VK_DELETE .or. nKey=VK_F5
        borrarFactura()
    Case nKey=VK_F2
        manteFacturas(0)
    Case nKey=VK_F3
        EVAL(cbImpreFt)
    Case nKey=VK_F6
        EVAL(cbEnvio)   
    Case nKey=VK_F7
        EnviarEST(oRsFtr:Fields( "ll_consec" ):Value)
    Case nKey = VK_F12
        eval ({|| if(GetKeyState( VK_SHIFT ), msginfo("shift+f12"), if(GetKeyState( VK_CONTROL ), msginfo("control+f12"), msginfo("f12") ) ) })
EndCase