Capturar tecla en xbrowse?

Capturar tecla en xbrowse?

Postby FranciscoA » Wed Oct 21, 2020 4:36 pm

Amigos.
No logro capturar cuando se presionan las teclas VK_UP y VK_DOWN en xBrowse.

Esto no funciona:
Code: Select all  Expand view  RUN
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
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Capturar tecla en xbrowse?

Postby cnavarro » Wed Oct 21, 2020 7:24 pm

Francisco, modifica el metodo asi

Code: Select all  Expand view  RUN

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: Select all  Expand view  RUN

    // 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: Select all  Expand view  RUN

    // 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
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Capturar tecla en xbrowse?

Postby FranciscoA » Wed Oct 21, 2020 9: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
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Capturar tecla en xbrowse?

Postby cnavarro » Thu Oct 22, 2020 1: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
User avatar
cnavarro
 
Posts: 6549
Joined: Wed Feb 15, 2012 8:25 pm
Location: España

Re: Capturar tecla en xbrowse?

Postby FranciscoA » 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
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 35 guests