Página 1 de 1

Pregunta sobre FrmFolder...

Publicado: Dom May 19, 2013 4:06 am
por Carlos Ortiz
hay forma de saber cuando el form que está activo en una solapa, pierde
el foco?
probe con onDeactivate pero da error
el OnHide no me sirve por que no lo estoy ocultando, sino que por ahí­
llamo a algo (una pantalla que edita datos encima de ese ) y necesito
saber que perdió el foco.
Habrá alguna manera, gracias.
Carlos Ortiz.

Pregunta sobre FrmFolder...

Publicado: Mié May 22, 2013 12:57 pm
por jfgimenez
Carlos,
> hay forma de saber cuando el form que está activo en una solapa,
> pierde el foco?
> probe con onDeactivate pero da error
> el OnHide no me sirve por que no lo estoy ocultando, sino que por ahí­
> llamo a algo (una pantalla que edita datos encima de ese ) y necesito
> saber que perdió el foco.
>
> Habrá alguna manera, gracias.
Si lo que estás usando es una clase del tipo TFormFolder del ejemplo
dbfdata6, entonces tienes que tener en cuenta que en realidad, lo que
hay ahí­ es un folder, y por lo tanto puedes usar el evento OnChange para
detectar cuando el usuario cambia de pestaña.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

Pregunta sobre FrmFolder...

Publicado: Jue May 23, 2013 2:40 am
por Carlos Ortiz
aja, probé algunas cosas pero no logro saber si el form o folder de
frmfolder perdió el foco.
El 22/05/2013 07:57, Jose F. Gimenez escribió:
> Carlos,
>
>> hay forma de saber cuando el form que está activo en una solapa,
>> pierde el foco?
>> probe con onDeactivate pero da error
>> el OnHide no me sirve por que no lo estoy ocultando, sino que por ahí­
>> llamo a algo (una pantalla que edita datos encima de ese ) y necesito
>> saber que perdió el foco.
>>
>> Habrá alguna manera, gracias.
>
> Si lo que estás usando es una clase del tipo TFormFolder del ejemplo
> dbfdata6, entonces tienes que tener en cuenta que en realidad, lo que
> hay ahí­ es un folder, y por lo tanto puedes usar el evento OnChange
> para detectar cuando el usuario cambia de pestaña.
>
>
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
> http://www.xailer.info

Pregunta sobre FrmFolder...

Publicado: Jue May 23, 2013 10:01 am
por jfgimenez
Carlos,
> aja, probé algunas cosas pero no logro saber si el form o folder de
> frmfolder perdió el foco.
Si miras el ejemplo xailersamplesdatacontrolsdbfdata6, abre el
módulo form1.prg y vete a la lí­nea 128. Ahí­ tienes el método que se
dispara cuando el usuario cambia de pestaña. Sólo tienes que añadir ahí­
el código que necesites.
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

Pregunta sobre FrmFolder...

Publicado: Jue May 23, 2013 10:35 pm
por Carlos Ortiz
Bien, tendré que analizar si se trata del form al cual le quiero apagar
algunas cosas, me sirve gracias.
Abusando de tu tiempo te comento que me pasa, por ahí­ hay otro forma, la
situación es que en un folder/form que se abre en particular hay un
timer que cada 30 segundos hace algunas cosas contra la base de datos y
actualiza unas cosas en pantalla, el tema es que en ese mismo form hay
muchas llamadas a otros form que son tipo Dialog para editar datos (y
ahí­ viene el problema, quiero frenar el timer hasta tanto termine la
edición) el tema es que son tantos lugares que querí­a hacer algo mas
general para que cuando se sale del folder/form para editar se frene y
cuando se vuelve a tomar el foco se prenda de nuevo el timer y no tener
que hacerlo en un montón de llamadas y aparte acordarme que si llamo a
otro form que edite encima apagar y prender.
Cuándo pierdo el foco del folder/form lo tengo resuelto por l OnHide y
el OnShow lo que me falta es cuando se pierde el foco pero no por
cerrarlo o cambiarme de formfolder sino por que llame a otra cosa encima.
Muchas gracias.

Pregunta sobre FrmFolder...

Publicado: Vie May 24, 2013 12:34 am
por Claudio[1]
Hola Carlos
Tuve el mismo problema y lo resolví­ enfocándolo desde los formularios
que se disparan desde el form principal ( que tiene el timer para
refresh, o lo que sea)
Cree una clase 'intermedia' entre el form ppal y los form de edición (
OpcionSecundaria).
Esta 'capa' se encarga de parar el timer de la ppal cuando se abre un
form y reiniciarlo cuando se cierra.
Lo único que tenés que hacer es que todas las ventanas de edicion
hereden de OpcionSecundaria y crear dos metodos en el form ppal para
arrancar y parar el timer ( stop y start )
Debajo el mini codigo que use. Espero te sirva.
Saludos,
Claduio
//---- Enlaces del menu con formularios ----
CLASS OpcionSecundaria from TForm
METHOD new(oParent)
METHOD close(lDontAsk)
ENDCLASS
//---------------------------------------------------------- --------------------
METHOD NEW(oParent) class OpcionSecundaria
oParent:stop() ; endif
RETURN Super:New(oParent)
//---------------------------------------------------------- --------------------
METHOD close(lDontAsk) class OpcionSecundaria
::oParent:start()
return super:close(lDontAsk)
El 23/05/2013 17:36, Carlos Ortiz escribió:
> Bien, tendré que analizar si se trata del form al cual le quiero apagar
> algunas cosas, me sirve gracias.
>
> Abusando de tu tiempo te comento que me pasa, por ahí­ hay otro forma, la
> situación es que en un folder/form que se abre en particular hay un
> timer que cada 30 segundos hace algunas cosas contra la base de datos y
> actualiza unas cosas en pantalla, el tema es que en ese mismo form hay
> muchas llamadas a otros form que son tipo Dialog para editar datos (y
> ahí­ viene el problema, quiero frenar el timer hasta tanto termine la
> edición) el tema es que son tantos lugares que querí­a hacer algo mas
> general para que cuando se sale del folder/form para editar se frene y
> cuando se vuelve a tomar el foco se prenda de nuevo el timer y no tener
> que hacerlo en un montón de llamadas y aparte acordarme que si llamo a
> otro form que edite encima apagar y prender.
> Cuándo pierdo el foco del folder/form lo tengo resuelto por l OnHide y
> el OnShow lo que me falta es cuando se pierde el foco pero no por
> cerrarlo o cambiarme de formfolder sino por que llame a otra cosa encima.
>
> Muchas gracias.

Pregunta sobre FrmFolder...

Publicado: Vie May 24, 2013 1:49 am
por Carlos Ortiz
Totalmente factible, estaba con algo como eso probando, muchas gracias.

Pregunta sobre FrmFolder...

Publicado: Vie May 24, 2013 6:05 pm
por Carlos Ortiz
Efectivamente me detecta el cambio de pestaña pero no cuando pierde el
foco por que se llamo a un form encima. Que lástima, seguiré probando
otras alternativas.
El 23/05/2013 05:01, Jose F. Gimenez escribió:
> Carlos,
>
>> aja, probé algunas cosas pero no logro saber si el form o folder de
>> frmfolder perdió el foco.
>
> Si miras el ejemplo xailersamplesdatacontrolsdbfdata6, abre el
> módulo form1.prg y vete a la lí­nea 128. Ahí­ tienes el método que se
> dispara cuando el usuario cambia de pestaña. Sólo tienes que añadir ahí­
> el código que necesites.
>
>
> Un saludo,
>
> José F. Giménez
> http://www.xailer.com
> http://www.xailer.info