Problema con captura de teclas en FWH

Problema con captura de teclas en FWH

Postby jmartial » Wed Mar 22, 2006 9:54 pm

Hola,

Tengo lo siguiente:

Un Diálogo, con un folder de 3 pestañas y un TWbrowse en la 2ª Pestaña.

Tomo el foco del Browse y desactivo las pestañas 1 y 3.

Defino el bKeydown de la 2ª pestaña y del Browse.

En 16b cuando pulsaba ESC lo capturaba el bkeydown del browse , en 32b lo captura el ¡Diálogo padre! , aunque parezca mentira.

Esto me rompe montón de código

¿cual es la forma de capturar las teclas en fwh ? ¿En qué modo han cambiado los eventos? ¿Que orden sigue de procesar las teclas en este tipo de pantallas?.


Un Saludo,
Joaquín
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Postby jmartial » Wed Mar 22, 2006 10:29 pm

Antonio,

Más pistas, he comprobado que estando editando un get en un diálogo con folders , al pulsar la tecla ESC se ejecuta ¡2 veces! el valid del Diálogo.

Le he puesto un msginfo(), a un botón que llama a salir y al valid del diálogo, que son las 2 formas de salir, salta 2 veces el del diálogo.

Si clickeo el botón va bien, si pulso la tecla ESC salta 2 veces el valid del diálogo.

Me parece que algo raro ocurre con el valid de los diálogos.

Un Saludo,
Joaquín
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Postby Antonio Linares » Thu Mar 23, 2006 8:30 am

Joaquín,

Por favor prueba samples\TestFold.prg y pulsa ESC. Aqui solo aparece el valid una vez.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41476
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby jmartial » Thu Mar 23, 2006 9:17 am

Antonio,

También falla.

Modifica este trozo de testfold.prg :

ACTIVATE DIALOG oDlg CENTERED ;
VALID MsgYesNo( "Want to end ?" )

return nil

Por este otro:

ACTIVATE DIALOG oDlg CENTERED ON INIT pru(oDlg) ;
VALID MsgYesNo( "Want to end ?" )

return nil

//----------------------------------------------------------------------------//


Function Pru(oDlg)
Local oGet , cPru := "Un get cualquiera"

oDlg:Move( 0,0, 600,600, .T.)
oDlg:Center()

@500,100 GET oGet VAR cPru PIXEL SIZE 200,24 OF oDlg

Return Nil


Ahora, pincha en el Get y estando el foco ahí pulsa ESC.


Un Saludo,
Gracias
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Postby Antonio Linares » Fri Mar 24, 2006 8:57 am

Joaquín,

Funciona bien. Prueba con las librerías que te hemos enviado, gracias.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41476
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 113 guests