GeneXus - Bloquear la tecla ESC

 
Vista:
sin imagen de perfil

Bloquear la tecla ESC

Publicado por Mónica (32 intervenciones) el 30/05/2008 17:30:19
Hola ...Buenos días

Tengo el Siguiente Problema:

Lo que necesito es que siempre que yo desee salir de una transacción o un WorkPanel utilizando la tecla ESC o el Boton Cance(Salir) que Genexus genera por defecto, me salga un mensage de confirmación. Si la confirmación se SI, debe cerrarse la Transacion o el WP, pero si es NO, no debería hacer nada... simplemente no cerrar la interfaz.

Para esto estoy utilizando el Evento EXIT:

Event Exit
Confirm('¿ Desea salir de la interfaz ?', Y)
If Confirmed()
return
else
btn_Cancel.Setfocus()
endif
EndEvent // Exit

Cuando la confirmación es SI.. bueno.. se cierra ... pero cuando la Confirmación es NO... También se Cierra... y no debería ser así.

Por Favor si alguien me puede ayudar con esto, y me indicará cuál es la instrucción correcta para no ejecutar el cierre de la interfaz en NO, o en donde estoy cometiendo yo el error. Les agradezco la ayuda y las indicaciones con las que me puedan colaborar.

att:Mónica
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:Bloquear la tecla ESC

Publicado por luis (82 intervenciones) el 30/05/2008 22:04:27
Lo que se me ocurre que podes hacer es, en el event exit hacer como estas haciendo, pero ademas agregar una bandera, kedaria asi:

Event Exit
If &Salir = 'N'
Confirm('¿ Desea salir de la interfaz ?', Y)
If Confirmed()
&Salir = 'S'
else
&Salir = 'N'
endif
endIf
EndEvent // Exit

Y al objeto deberias agregarle un parametro, que sea &salir.

Despues, desde el objeto del que lo llamas podrias hacer en el evento de donde se llama lo siguiente:

Call(TTrn,&Salir,&Mode)
Do While &Salir='N'
Call(TTrn,&Salir,&Mode)
EndDo

Pero tenes que setear en algun lugar la variable &Salir = 'S' cuando realmente quieras salir. por ejemplo en el boton enter

Event enter
&salir = 'S'//Con esto te evitas que te pregunte el "Desea sali de la interfaz?"
endevent

Espero que te sirva como orientacion. Saludos! Luis.-
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