Cobol Foro

Cobol Foro (https://www.cobolforo.es/index.php)
-   PowerCOBOL (ActiveX, v4 - v11) (https://www.cobolforo.es/forumdisplay.php?f=9)
-   -   [Sintaxis] Evento GotFocus (https://www.cobolforo.es/showthread.php?t=1243)

Begoguay 18 de diciembre de 2020 17:56

Evento GotFocus
 
Buenas foreros!!!!!
Antes de nada Feliz Navidad:papanoel::papanoel:

Una pregunta. Cuando se hace un THRUEVENTS, alguien sabe si pasa por el evento GOTFOCUS de los controles que 'refresca'?
Es que a veces me pasa que utilizo el evento GotFocus en algún control, y no tengo claro en que momentos pasa por ese evento, y a veces, pasa por él sin que yo le mande.
Alguien me podría explicar un poco detenidamente en que momento se ejecuta un evento GotFocus de un control, (lo que lleva al evento LostFocus al abandonar el control)?
O a lo mejor es mejor utilizar otro evento.

Una pista, por favor.
Un saludo.

Kuk 18 de diciembre de 2020 18:33

@Begoguay, dicho evento se ejecuta, cuando el foco está en él, independientemente de la acción que lo hace. Puede ser tabulando, puede ser con un clic del ratón etc.

Dicho evento es mejor utilizarlo sólo para el propio control, si quieres cambiarle el color del fondo por ejemplo.

Begoguay 18 de diciembre de 2020 18:48

Gracias Kuk, por tu respuesta.

Ya sé que se ejecuta cuando el foco está en el control, pero es que a veces el foco va a su bola, y se me pierde, y le da por irse por los controles a pasear.

Por eso, preguntaba que ¿cuándo recibe el foco un control?, aparte de cuando se le hace un SetFocus, o se llega con Tab, Enter, Click (es decir, por propio intento). Porque creo que si se hace un Thruevents, al ejecutarse este evento, también reciben el foco todos los controles por los que pasa.

No se si es asi

Mi problema, sobre todo, es que el foco se me pierde, se me despista, no lo encuentro....

Kuk 18 de diciembre de 2020 22:23

@Begoguay, esto también depende del orden de indexado de controles.

Imagínate que tienes un botón con índice 1 y un TextBox con indice 2 que a su vez tiene el evento GotFocus activo (con código a ejecutar). También hay que destacar que un control deshabilitado (disabled) no puede tener el foco. Con lo cual, si en un momento dado el foco está sobre el botón y le hacemos MOVE POW-FALSE TO "Enabled" OF BOTON, el foco automáticamente pasará al control habilitado con indice superior. SI el 2 esta habilitado, pues el foco parará ahí Y así es como actuando sobre un control totalmente diferente podrías implícitamente invocar el código del GotFocus.

Lo del orden de indexado está en Propiedades del control->Common->TabIndex

Nitzer 19 de diciembre de 2020 18:15

Hola, probablemente el problema no esté en el GotFocus, puede estar en algún LostFocus.
Revisa bien , a veces nos sorprende el programa, parece que vaya por libre.
Cuando me agobio mucho, lleno todo el programa de DISPLAY y me voy enterando del orden exacto, porque como bien dices, hay momentos en que parece magia :)

Hrmcobol 20 de diciembre de 2020 21:10

Holaaa !!! Si es cierto Los programas Tienen Vida Propia !!!! jajajajaja

ABRAZO !!!!!!

BegoGuay, Sigue el consejo de Nitzer !!!!

Gusaiello 21 de diciembre de 2020 19:22

Y yo que pensé que era el único que se la pasa poniendo display por todos lados para seguir la lógica de algunos programas.
:loco:

Begoguay 21 de diciembre de 2020 20:59

Cita:

Citación del post de Nitzer (Mensaje 6317)
Hola, probablemente el problema no esté en el GotFocus, puede estar en algún LostFocus.
Revisa bien , a veces nos sorprende el programa, parece que vaya por libre.
Cuando me agobio mucho, lleno todo el programa de DISPLAY y me voy enterando del orden exacto, porque como bien dices, hay momentos en que parece magia :)

Ya, si eso es lo que hago, pero queria saber si alguien tenia otra solucion que lleve menos tiempo. Asi que, visto lo visto, a seguir DISPLAYANDO:pared:

Kuk 21 de diciembre de 2020 21:34

@Begoguay, lo mejor es no jugar con este tipo de eventos en muchos controles del mismo formulario.


La franja horaria es GMT +2. Ahora son las 02:05.

Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.