Page 1 of 1

xBrowse

Posted: Thu May 03, 2007 10:19 am
by Mike Serra
tengo un xbrowse en una ventana y no se porque capturando el metodo
bkeydown me ejecuta el resultado 2 veces, es decir:

Code: Select all

...
...
 ::oBrowse:bKeydown:={|nkey|press_on_browse(nKey,self)}
...
...

function press_on_browse(nKey,self)
        do case 
            case nkey = VK_F2 .and. ::lInsertButton
                ::lInsertMode:=.t.
                ::lModifyMode:=.f.
                ::Insert() 
            case nkey = VK_F3 .and. ::lModifyButton
                ::lInsertMode:=.f.
                ::lModifyMode:=.t.
                ::Modify() 
            case nkey = VK_F4 .and. ::lDeleteButton
                ::Delete() 
            case nkey = VK_F5 .and. ::lSearchButton
                ::Search() 
            case nkey = VK_F6 .and. ::lListButton
                ::List()
            case nkey = VK_ESCAPE 
                ::Destroy() 
        end case
return
con este código, si pulso sobre F2 entra 2 veces en Insert()

¿Que puede ser?

Muchas Gracias Foro!!

Posted: Thu May 03, 2007 10:57 am
by Antonio Linares
Mike,

En la Clase TXBrowse realiza esta modificación:

Code: Select all

METHOD KeyDown( nKey, nFlags ) CLASS TXBrowse

   if ::bKeyDown != nil
      Eval( ::bKeyDown, nKey, nFlags )
      return nil
   endif   

   ...

Posted: Thu May 03, 2007 10:59 am
by Antonio Linares
Mike,

Mejor, preferiblemente, elimina esas líneas:

Code: Select all

   if ::bKeyDown != nil
      Eval( ::bKeyDown, nKey, nFlags )
   endif   

Posted: Thu May 03, 2007 11:34 am
by Mike Serra
Funcionó correctamente, Gracias Antonio :)