Página 1 de 1

Refrescar fondo de Formulario

Publicado: Lun May 28, 2007 9:16 pm
por Pedro Amaro
Buenas tardes
Necesito que se cambie periodicamente la imagen que tengo en el fondo
del formulario (::oBkgnd), por lo que puse un ::TTimer y en cada evento
OnTimer actualizo el valor de la propiedad ::oBkgnd y produzco un ::Update()
para que se refresque (tambien lo he probado con ::Redraw() ).
El problema esta en que la imagen de fondo solo se actualiza en algunas
partes, en concreto en el fondo de los ::TLabel que tengo :lTransparent :=
..T.
Para conseguir el efecto que necesito me veo obligado a un ::Minimize()
y un ::Maximize() seguidos, la pantalla pega un "brinco" y se actualiza la
imagen debajo de todos los controles.
Un saludo
Pedro Amaro

Refrescar fondo de Formulario

Publicado: Lun May 28, 2007 9:47 pm
por Francisco Sanchez
Y por que no pones un bevel y dentro de el todos los contrles y lo uqe vas
cambiando es el obknd del bevel ???
Un saludo

Refrescar fondo de Formulario

Publicado: Lun May 28, 2007 9:48 pm
por Francisco Sanchez
perdon me referia a obkgnd me esta fayando el teclado je
Un saludo

Refrescar fondo de Formulario

Publicado: Lun May 28, 2007 10:37 pm
por jfgimenez
Pedro,
> Necesito que se cambie periodicamente la imagen que tengo en el fondo
> del formulario (::oBkgnd), por lo que puse un ::TTimer y en cada evento
> OnTimer actualizo el valor de la propiedad ::oBkgnd y produzco un
> ::Update() para que se refresque (tambien lo he probado con ::Redraw() ).
>
> El problema esta en que la imagen de fondo solo se actualiza en algunas
> partes, en concreto en el fondo de los ::TLabel que tengo :lTransparent :=
> .T.
>
> Para conseguir el efecto que necesito me veo obligado a un ::Minimize()
> y un ::Maximize() seguidos, la pantalla pega un "brinco" y se actualiza la
> imagen debajo de todos los controles.
Utiliza simplemente ::Refresh(), y si no termina de funcionar, entonces
::Refresh( .T. )
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

Refrescar fondo de Formulario

Publicado: Mar May 29, 2007 9:06 am
por Pedro Amaro
Gracias por la ayuda;
José
> Utiliza simplemente ::Refresh(), y si no termina de funcionar, entonces
> ::Refresh( .T. )
Me producia el mismo efecto, asi que probe a provocar el :redraw() de todos
los controles y funciona muy rapido y ahora si, bien.
Un saludo
Pedro Amaro