FoxPress – Enero 2006

 

Degradados en VFP

 

 

             Por  Alexandre Hedreville                                                   gradient.zip

 

 

Sigue el siguiente procedimiento:
 
·  Crea un bmp de 1 x 256 pixels que contenga el patrón de muestra para el degradado.
·  Crea un nuevo formulario y agrégale un control image que cubra la totalidad del formulario.
·  Establece las propiedades del control image en: Anchor = 240, Stretch = 2, Picture = (tu bmp).
·  Pon el control image detrás de todos los objetos del formulario en el Zorder.
 
Et voilá… prueba el formulario y veras como el degradado se ajusta aunque cambie el tamaño del formulario.
 
Para aquellos que no usen VFP 9.0 en vez de la propiedad Anchor deberéis controlar el evento Resize del formulario.

 

Un poco de historia

A lo largo de los años como desarrollador de VFP he visto muy buenos métodos para generar degradados en el fondo de formularios. Pero por unas u otras razones, no “daban la talla”, por decirlo así.

Veamos algunos de ellos y los problemas que presentan:

·  Bmp como fondo: Podemos crear un bmp y ponerlo en el fondo del formulario usando la propiedad Picture. Problemas: El Resize del formulario y que el fichero bmp ocupa espacio en memoria y disco.
·  Líneas como fondo: Podemos crear un degradado usando un algoritmo que agregue tantos controles line como sean necesarios. Problemas: El Resize del formulario y la lentitud del formulario (en formularios grandes se generan decenas de controles line).

 

API GradientFill: Podemos crear un degradado usando la funcion API GradientFill (en el fichero de descarga viene un ejemplo). Problemas. El Resize del formulario y el Refresh del mismo ya que necesita repintarse el formulario.

 

 

Conclusión

 

Parece por tanto, que el mejor método es el expuesto al principio; aunque estoy seguro que como desarrolladores “inquietos” seguramente os surgirán nuevos y mejores métodos para crear degradados en Visual Foxpro.