FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Asociar teclas a un xBrowse
Posts: 297
Joined: Fri Apr 14, 2006 05:52 PM
Asociar teclas a un xBrowse
Posted: Wed Sep 26, 2007 04:15 PM
Buenas Foro!, tengo este codigo asociado a un xbrowse:

function press_on_browse(nKey,self)
    msginfo(nkey)
    do case 
        case nkey = VK_F2 .and. ::lInsertButton
            ::Insert() 
        case nkey = VK_F3  .and. ::lDeleteButton
            ::Delete() 
        case (nkey = VK_F4 .or. nKey = VK_RETURN) .and.  ::lModifyButton
            ::Modify() 
        case nkey = VK_F5 .and. ::lSearchButton
            ::Search() 
        case nkey = VK_F6 .and. ::lPrintButton
            ::Print()
        case nkey = VK_ESCAPE 
            ::oContainer:End()
    end case
return


Me funciona todo perfectamente menos la tecla ESCAPE, ¿sabeis que puede ser?

Muchas Gracias.
Posts: 297
Joined: Fri Apr 14, 2006 05:52 PM
Asociar teclas a un xBrowse
Posted: Wed Sep 26, 2007 04:17 PM

Se me ha olvidado comentaros que no es problema de VK_ESPAPE, ya que cuando pulso sobre la tecla ESCAPE, no se muestra nada en el msginfo.

SALUDOS

Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Asociar teclas a un xBrowse
Posted: Wed Sep 26, 2007 05:31 PM

CUAL ÉS LA VERSION DE TU FIVEWIN?

PROBASTES CON bKeyDown()??

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 297
Joined: Fri Apr 14, 2006 05:52 PM
Asociar teclas a un xBrowse
Posted: Wed Sep 26, 2007 05:45 PM

Gracias Karina

es la FW 2.8 Octubre de 2006

Posts: 297
Joined: Fri Apr 14, 2006 05:52 PM
Asociar teclas a un xBrowse
Posted: Wed Sep 26, 2007 05:46 PM
la llamada a press_on_browse la realizo asi:

 ::oBrowse:bKeydown:={|nkey|press_on_browse(nKey,self)}
Posts: 114
Joined: Fri Nov 24, 2006 09:03 PM
Asociar teclas a un xBrowse
Posted: Thu Sep 27, 2007 04:03 PM

Cuando presionas ESC se sale del Browse o se queda alli?

Si se sale del Browse entonces tienes que modificar el metodo KEYDOWN
de la clase XBROWSE

Posts: 297
Joined: Fri Apr 14, 2006 05:52 PM
Asociar teclas a un xBrowse
Posted: Fri Sep 28, 2007 11:25 AM

Lo curioso es que no hace nada, es decir, si os fijais en la función del principio del post hay un msginfo(nkey), si pulso cualquier tecla me sale caracter ascii de la tecla pulsada, del F1, F2, F3, A, B, C, la que sea, pero si pulso ESCAPE no muestra nada.

Posts: 114
Joined: Fri Nov 24, 2006 09:03 PM
Asociar teclas a un xBrowse
Posted: Fri Sep 28, 2007 04:06 PM

fijate en el metodo KEYDOWN de la clase XBROWSE y entenderas porque. En mi caso tuve que modificarlo para poder captar todas las teclas sin excepcion.

Jaime

Posts: 682
Joined: Tue Feb 14, 2006 09:48 AM
Asociar teclas a un xBrowse
Posted: Fri Sep 28, 2007 04:28 PM
Revisando un poco el código, yo el metodo KeyDown de xBrowse lo veo bien. Claro está que si le añades CASE nKey==27 ..., conseguiras variar el comportamiento.

Pero en realidad el hecho de no evaluar bKeyDown, es debido a el metodo KeyDown de la clase control.
Allí si la tecla recibida es escape
if nKey == VK_ESCAPE
      :oWnd:KeyDown( nKey, nFlags )
      return 0

mientras que si es otra tecla
return Super:KeyDown( nKey, nFlags )

Supongo que habra algún motivo, que no alcanzo a ver, pero si quitas el if nKey== VK_ESCAPE, veras como si te evalua correctamente el codigo de bKeyDown.
::oWnd y Super no son el mismo objeto, y el code block bKeyDown esta asignado en Super.

Algun usuario mas experimentado, o Antonio directamente nos podra dar luz sobre el tema.
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
Posts: 297
Joined: Fri Apr 14, 2006 05:52 PM
Asociar teclas a un xBrowse
Posted: Sat Sep 29, 2007 05:30 AM

Muchas Gracias a los 2 (Jaime y Gabriel). Esperaré noticias.

Continue the discussion