Ejemplos usando el Api de windows para Visual basic

133 - Aplicar efecto Fade a un formulario

Volver al Listado Api - Anterior - Siguiente



 

 

Ejemplo que aplica un efecto Fade In - Fade Out, al cargar y descargar un formulario mediante el Api

 

Este ejemplo simple puede ser útil para una aplicación de tipo multimedia, por ejemplo para aplicar efecto a un formulario tipo Splash o de presentación del programa

Importante: Asi como está planteado este ejemplo, solo funciona correctamente cuando el formulario no es muy grande, por ejemplo un formulario de 500 pixeles de ancho por 200 o 250 de alto ( hasta esas dimensiones le he probado sin problemas). Ya que si el formulario es grande ( ni hablar si está maximizado ), la función que aplica la transparencia, tarda mucho en redibujar y aplicar el efecto.

Para aplicar este efecto para que el formulario vaya apareciendo y desapareciendo progresivamente, se utilizan tres funciones del Api: GetWindowLong, SetWindowLong y SetLayeredWindowAttributes

Hay también una función de ajuste llamada Transparencia, que tiene como parámetro el Hwnd del formulario y el valor desde 0 a 255 para graduar la transparencia.

 

Public Function Transparencia(ByVal hWnd As Long, valor As Integer) As Long

 

Al cargar el formulario, o sea en el evento FormLoad, se recorre en un For-Next desde 0 a 255, y se llama a la función transparencia pasandole el valor del bucle. De este modo el formulario aparecerá paulatinamente hasta que sea completamente visible.

Al descargar el formulario, en UnLoad, se hace lo contrario, el bucle va desde 255 hasta el valor 0.

Nota: la función SetLayeredWindowAttributes, no está soportada en versiones anteriores a Windows 2000.

 

Colocar en un nuevo proyecto un módulo bas y el siguiente código fuente:

 

Código fuente a colocar en un formulario:

 


Enlaces relacionados



Buscar en Recursos vb