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.