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
Problema con captura de teclas en FWH
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
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
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
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
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
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact: