Clipper/FiveWin - ESC EN FIVE WIN

 
Vista:

ESC EN FIVE WIN

Publicado por Juan (62 intervenciones) el 03/06/2010 21:00:57
Hola a todos, tengo una aplicacion en FWH y me funciona muy bien, pero tengo un problema, cuando estoy en medio de un proceso o en un dialogo que no puedo cerrar sin finalizar el proceso, en ese momento si pulso ESC por error me sale del dialogo o del proceso y me queda sin finacizar. Existe alguna metodo para anular el ESC dentro de un dialogo en FWH, el Clipper si que podia anularlo. Muchas gracias y un saludo para todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ESC EN FIVE WIN

Publicado por Gabriel Pascual (913 intervenciones) el 04/06/2010 02:56:16
El ESC no se puede anular porque no es tu programa quien controla el pulso de las teclas especiales, es Windows

Para hacer lo que quieres, puedes usa la clausula VALID del ACTIVATE DIALOG.

FUNCTION MiDialog
LOCAL lSalir := .F.
LOCAL oDlg

DEFINE DIALOG oDlg ......
....
...
...
... REDEFINE BUTTON ID ..... ACTION (lSalir := .T., oDlg:End())
...
...
ACTIVATE DIALOG .... VALID (lSalir)

Como veras defino una variable logica llamada lSalir y la inicio a .F.

La clausula valid del dialog me permite cerrar el dialogo siempre y cuando la evaluacion de lo que pongas en VALID devuelva .T.,

El resto es simple, la variable lSalir cambia por .T. al pinchar un botón y luego se manda llamar el método END() del dialgo.

Si tu pinchas la tecla ESC, se ejecuta el END del dialogo pero como la variable lSalir es .F., entonces el dialogo se queda abierto.

Hasta que no pinches el botón adecuado se cerrará el dialogo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ESC EN FIVE WIN

Publicado por Juan (62 intervenciones) el 05/06/2010 10:35:14
Muchas gracias!!!, es justo lo que necesitaba y me funciona genial. Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar