PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 24 → Al salir de un control campo de entrada se puede saber si es porque hemos pulsado un botón, Cancelar, por ejemplo
Al salir de un control campo de entrada se puede saber si es porque hemos pulsado un botón, Cancelar, por ejemplo
Débuté par GARCIA SALVADOR, 25 juin 2020 20:55 - 3 réponses
Membre enregistré
12 messages
Posté le 25 juin 2020 - 20:55
Buenas,
Al salir de un campo de entrada realizamos varias validaciones, con referencia a otros campos de la ventana y/o con tablas de las Bases de Datos.
El problema que tenemos es que cuando pulsamos el botón de Cancelar la ventana, también nos realiza estas validaciones y esto no nos interesa.
En nuestro actual software hay una función que nos permite saber el último control pulsado, por lo que en las validaciones al salir del campo, las hacemos solo si no se pulso Cancelar.

¿Como podemos hacer lo mismo en WinDev?.

Un saludo,
Membre enregistré
16 messages
Posté le 25 juin 2020 - 22:08
Podrías usar la propiedad ..FocusOnClick o si quieres algo más complejo yo lo haría con una variable inicializado en "false" de manera global y que al presionar el botón tome el valor "true".

--
__________________________
-ercnet.elias@gmail.com-
-Ing. Elias Ramos Cantù-
Membre enregistré
16 messages
Posté le 25 juin 2020 - 22:13
Publicado el 25,junio 2020 - 21:08
Podrías usar la propiedad ..FocusOnClick o si quieres algo más complejo yo lo haría con una variable inicializada en "false" de manera global y que al presionar el botón tome el valor "true". Cada botón tiene un Tipo(Type) y si lo dejas como cancelar automáticamente lo tomara la ventana como el botón de salir predeterminado por lo que ejecuta lo que tengas en el Click. Podrías simplemente quitarlo.

--
__________________________
-ercnet.elias@gmail.com-
-Ing. Elias Ramos Cantù-
Membre enregistré
12 messages
Posté le 26 juin 2020 - 11:59
Buenas,
He probado lo siguiente:
Salida de EDT_Cdg01
IF BTN_Cancel..FocusOnClick = True THEN
Info("BTN_Cancel")
END
Y siempre me da en mensaje, tanto si pulso BTN_Cancel, como si salgo del campo de entrada EDT_Cdg01.
Y lo que necesito es que cuando pulse BTN_Cancel y se ejecute el código del campo de entrada EDT_Cdg01, pueda salir sin hacer el resto de código.

Un saludo,