FoxPro/Visual FoxPro - Molestia con mensajes en setfocus de un texbox al salir de un formulario

 
Vista:
Imágen de perfil de Fernando Jaramillo
Val: 11
Ha aumentado su posición en 11 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Molestia con mensajes en setfocus de un texbox al salir de un formulario

Publicado por Fernando Jaramillo (12 intervenciones) el 07/09/2022 18:22:47
Saludos

Acudo a ustedes para los siguiente
Tengo una serie de textbox que se van habilitando en secuencia en la medida en que el usuario los llena con un valor diferente a cero, es decir, cuando se llena el texto 1, se habilita el texto 2 y así sucesivamente.
En el lostfocus de cada Textbox, se valida si el valor es superior a cero y en caso de no serlo se genera un mensaje indicando que debe ser digitado.
Igualmente tengo un botón de salida que efectúa otro tipo de validaciones.
El problema es que cada que tengo que salir del sistema (click en el commandButton) sin guardar la información, se ejecuta primero el evento lostfocus del texto que tiene el foco en ese momento y si está en cero se genera el mensaje y debo deshabilitarlo y hacer de nuevo click para que el botón de salida se ejecute.
El proceso de los eventos es lógico, pero no encuentro la manera de controlar la situación para que la salida se haga sin la molestia de la ventanita con el mensaje

Espero haberme hecho entender

Agradezco sus ideas.
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
sin imagen de perfil
Val: 1.011
Oro
Ha mantenido su posición en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Molestia con mensajes en setfocus de un texbox al salir de un formulario

Publicado por Fidel José (657 intervenciones) el 07/09/2022 23:54:33
Hola Fernando
De acuerdo al escenario que describes, no veo la necesidad del mensaje.
Una forma un poco rebuscada es crear una clase vcx con un cuadro Editbox (Enabled = .f.) y una custom para controlar la aparición y posicionamiento del cuadro de mensaje.

Te envío una clase que sirve de ejemplo.
Para seguir el ejemplo debes agregar la vcx a tu proyecto.
Lo que hace es mostrar un cartelito a la derecha de cada cuadro, cuando corresponde.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
* Crea una propiedad "oCust" en el formulario
* Init del form
this.ocust = NEWOBJECT("cust_mensa","gmensa.vcx","",thisform,"Ingrese un Valor > 0")
 
* En los cuadros de Texto
* GotFocus
IF EMPTY(this.Value)
	thisform.ocust.Get_message(this)
ENDIF
 
*InteractiveChange
IF EMPTY(this.Value)
	thisform.ocust.Get_message(this)
ENDIF
 
*LostFocus
IF !EMPTY(this.Value)
	thisform.ocust.message_hide()
ENDIF
 
* Destroy del Form
This.oCust = null
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Fernando
Val: 11
Ha aumentado su posición en 11 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

Molestia con mensajes en setfocus de un texbox al salir de un formulario

Publicado por Fernando (12 intervenciones) el 09/09/2022 02:01:01
Gracias Fidel.
Funcionó. No se como calificar tu repuesta. Excelente
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