1 de diciembre de 2006

Añadir controles (Widgets) a sus pantallas Visual FoxPro

Artículo original: Add Glass XP Widgets to your Visual Foxpro Screens
http://weblogs.foxite.com/bernardbout/archive/2006/11/04/2798.aspx
Autor: Bernard Bout
Traducido por: Ana María Bisbé York


Google, Yahoo, Vista ya lo tienen. Ahora hagamos que lo tengan Visual FoxPro y usted. Hablo de aplicaciones llamadas Widgets que puede utilizar para combinar con su pantalla.

Utilizar gráficos que sean soportado por VFP es una vía para crear Widgets muy interesantes. He descrito aquí cómo el lograr PNG con máscara alpha, puede ser utilizado para mostrar algunos efectos cristalinos como semi "formularios".

Ahora voy a describir cómo esto se puede extender para crear Widgets cristalinos. Una vez que ya tenemos los Widgets, y los hemos utilizado, la técnica descrita aquí le va a ofrecer un Widget Cristalino que podrá arrastrar, similar a Vista. ¡ Y lo mejor de todo es que se puede lograr en XP !
Para este escrito he creado un widget reloj. Puede descargar el código completo desde el archivo adjunto al final de este escrito.

El reloj es una clase sencilla VFP que va a auto ejecutarse al soltarla sobre un formulario y ejecutar el formulario. El truco detrás del efecto cristalino está en la imagen PNG de fondo de la clase:




Mientras que se ve como un viejo gráfico plano en blanco y negro, contiene una máscara de canal alpha embebido en el. El formato PNG admite guardar esta máscara en una imagen y el objeto imagen de VFP respeta y utiliza esta máscara. Si abre esta imagen en un programa Paint que admite máscara, como Photoshop, (Utilizo Paint Shop Pro) entonces, puede ver la máscara. Cuando esta imagen es cargada en un objeto imagen VFP, la máscara tiene efecto en ciertas áreas transparentes basadas en la información en la máscara.

Todo lo que queda es insertar un objeto imagen en un contenedor transparente y se completa el efecto. La clase reloj solamente agrega código a la fecha, año y movimiento de las manecillas. Está también el código en la clase imagen que permite dibujar el contenedor, de tal forma que el reloj se pueda mover. Verifique el código en los eventos Mouse de la clase objeto imagen.

El reloj se puede instanciar en el _Screen o, si está empleando un formulario de nivel superior como la base para su aplicación, como he descrito aquí y aquí, entonces pueden ser utilizadas esta técnica y clase.

Debajo puede ver el efecto Cristalino (Glass) del área exterior que permite que traspase la imagen de fondo. Esta área se utiliza también para arrastrar y soltar el reloj en una nueva localización. Los colores pueden cambiarse sencillamente ya que yo he incluido todo el código. Ejecute el EXE y arrastre el reloj. Tenga cuidado cuando lo suelte, no va a querer romper el cristal ! :)

Aquí está el reloj corriendo dentro de un formulario de nivel superior.



¡ Aquí estoy logrando sus Widgest propios para VFP !

Adjunto: 2798_clockwidget.zip

No hay comentarios. :

Publicar un comentario