Hola. aqui tienen el codigo con la api AnimateWindow
Con esto haces tu ventana Splash
Lo he probado con XP y 2000
Saludos y que les sirva.
// Local External Functions
FUNCTION boolean AnimateWindow( long lhWnd, long lTm, long lFlags) LIBRARY 'USER32.dll'
// Variable de Instancia
Protected:
// Windows SDK Animation Constants!
// Anima la ventana de izquierda a derecha
CONSTANT LONG AW_HOR_POSITIVE = 1
// Anima la ventana de derecha a izquierda
CONSTANT LONG AW_HOR_NEGATIVE = 2
// Anima la ventana de arriba hacia abajo
CONSTANT LONG AW_VER_POSITIVE = 4
// Anima la ventana de abajo hacia arriba
CONSTANT LONG AW_VER_NEGATIVE = 8
// Anima la ventana haciéndola que aparezca del centro hacia los lados
CONSTANT LONG AW_CENTER = 16
// Oculta la ventana
CONSTANT LONG AW_HIDE = 65536
// Activa la ventana
CONSTANT LONG AW_ACTIVATE = 131072
// Usa la animación de tipo diapositivas
CONSTANT LONG AW_SLIDE = 262144
// Usa la animación con efecto de transparencia
CONSTANT LONG AW_BLEND = 524288
// Scrip del Open del Splash
//Animacion de la Windows --
IF THIS.windowstate = Normal! THEN // Regular size Window?
Environment lo_en // Yes, Alloc. "C" Structure
GetEnvironment (lo_en) // Load Structure with O/S Info.
Int li_width, li_height, li_X, li_Y // Work Var's
li_height = &
PixelsToUnits ( lo_en.screenheight, YPixelsToUnits!)// Covert to PB World
li_width = &
PixelsToUnits ( lo_en.screenwidth, XPixelsToUnits!)// Covert to PB World
li_x = li_width / 2 // Calc the centre
li_x -= THIS.Width / 2 // Readjust 4 Window size
li_y = li_height / 2 // Calc the centre
li_y -= THIS.Height / 2 // readjust 4 Window size
THIS.x = li_x // Apply 2 Window
THIS.y = li_y // Apply 2 Window
END IF
// Windows 2000 y XP
AnimateWindow ( Handle( this ),1000, AW_Slide + AW_HOR_NEGATIVE )