FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Capturar tecla en xbrowse?
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Capturar tecla en xbrowse?
Posted: Wed Oct 21, 2020 04:36 PM
Amigos.
No logro capturar cuando se presionan las teclas VK_UP y VK_DOWN en xBrowse.

Esto no funciona:
Code (fw): Select all Collapse
oBrw:bKeyDown  := { | nKey | if( nKey = VK_DOWN .or. nKey = VK_UP, MsgInfo(nKey), ) }


He visto infinidad de ejemplos en el foro, pero lo mismo... no funcionan.

Alguno puede postear un ejemplo funcional, o unicamente el codigo pertinente?
Gracias de antemano.
Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Capturar tecla en xbrowse?
Posted: Wed Oct 21, 2020 07:24 PM
Francisco, modifica el metodo asi

Code (fw): Select all Collapse
METHOD KeyDown( nKey, nFlags ) CLASS TXBrowse

   local oCol
   local uRet

   if Valtype( ::bKeyDown ) = "B"
      uRet  := EVal( ::bKeyDown, nKey, nFlags, Self )  //, ::SelectedCol()
      if ValType( uRet ) == 'N' .and. uRet == 0
         return 0
      endif
   endif

   if ! ::lScreenUpdating
      return ::Super:KeyDown( nKey, nFlags )
   endif

   ::CloseMessage()

   do case
   case nKey == VK_ESCAPE

.../...


y cuando lo uses, podrás hacerlo así:
Code (fw): Select all Collapse
    // Ejecuta el MsgInfo y después ejecutaría la accion por defecto de la tecla VK_DOWN o VK_UP
                             oBrw:bKeyDown := { | nKey | if( nKey = VK_DOWN .or. nKey = VK_UP, ( MsgInfo(nKey), 1 ) , ) }


o asi ( como ves, dependiendo de lo que devuelvas: 0 ó 1 )
Code (fw): Select all Collapse
    // Ejecuta el MsgInfo y termina ( vuelve )
                             oBrw:bKeyDown := { | nKey | if( nKey = VK_DOWN .or. nKey = VK_UP, ( MsgInfo(nKey), 0 ) , ) }
Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Capturar tecla en xbrowse?
Posted: Wed Oct 21, 2020 09:38 PM

Cristobal.
Trabajé en una copia de txBrowse.prg, y funciona bien, aunque tuve que omitirle la parte ::CloseMessage() porque daba error.
Muchas gracias.

Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Capturar tecla en xbrowse?
Posted: Thu Oct 22, 2020 01:38 AM

Posiblemente ese método no existe en la clase que estás utilizando.
Saludos

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo

El secreto de la felicidad no está en hacer lo que te gusta, sino en que te guste lo que haces
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Capturar tecla en xbrowse?
Posted: Thu Oct 22, 2020 11:10 PM

Maestro.
Es correcto, En mi version de xbrowse no aparece.
Many thanks

Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql

Continue the discussion