Ejemplo de una pantalla de bienvenida (splash screen) en un formulario de nivel superior que no se muestra en la barra de tareas de Windows.
Pantalla de bienvenida (splash screen)
Por Luis María Guayán, Tucumán, Argentina
El código de este ejemplo fue ligeramente modificado del Artículo 190350 de la Base de Conocimientos de Microsoft:
-- How To Create Top-Level Splash Screen with No TaskBar Icon --
http://support.microsoft.com/?kbid=190350
El siguiente código genera automaticamente el archivo ejecutable "C:\MiApp\MiApp.exe"
LOCAL lc
SET SAFETY OFF
*-- Creo una carpeta para MiApp
IF NOT DIRECTORY("C:\MiApp")
MD "C:\MiApp"
ENDIF
*-- Creo el archivo MiApp.PRG
TEXT TO lc NOSHOW
*-- Inicio del programa MiApp.prg
LOCAL loPresenta, loPrincipal
loPresenta = NEWOBJECT("FormPresenta")
loPresenta.SHOW()
*-- Demora para mostrar el formulario Presenta
*-- En este lugar preparo mi aplicación,
*-- configuro lo necesario, etc.
FOR ln = 1 TO 30
INKEY(.1)
ENDFOR
loPrincipal = NEWOBJECT("FormPrincipal")
loPrincipal.SHOW()
RELEASE loPresenta
loPresenta = NULL
READ EVENTS
loPrincipal = NULL
CLOSE ALL
CLEAR ALL
QUIT
*-- Formulario Presenta
DEFINE CLASS FormPresenta AS FORM
ALWAYSONTOP = .T.
AUTOCENTER = .T.
WIDTH = 468
HEIGHT = 319
NAME = "Presenta"
SHOWWINDOW = 2
DESKTOP = .T.
TITLEBAR = 0
BORDERSTYLE = 1
MOUSEPOINTER = 11
ADD OBJECT imgLogo AS IMAGE WITH ;
PICTURE = HOME(2)+"Tastrade\Bitmaps\splash.bmp", ;
TOP = 0, ;
LEFT = 0
ADD OBJECT lblEspere AS LABEL WITH ;
TOP = 250, ;
LEFT = 10, ;
CAPTION = "Espere un momento...", ;
FONTSIZE = 14, ;
FONTBOLD = .T., ;
FONTNAME = "Arial", ;
AUTOSIZE = .T., ;
BACKSTYLE = 0
PROCEDURE INIT
SET CURSOR OFF
THIS.SETALL("MOUSEPOINTER", THIS.MOUSEPOINTER)
ENDPROC
PROCEDURE DESTROY
SET CURSOR ON
ENDPROC
ENDDEFINE
*-- Formulario Principal
DEFINE CLASS FormPrincipal AS FORM
CAPTION = "Formulario Principal"
SHOWWINDOW = 2
AUTOCENTER = .T.
WIDTH = 640
HEIGHT = 480
ADD OBJECT cmdSalir AS BotonSalir WITH ;
TOP = 10, ;
LEFT = 500
PROCEDURE DESTROY
CLEAR EVENTS
ENDPROC
ENDDEFINE
*-- Boton Salir
DEFINE CLASS BotonSalir AS COMMANDBUTTON
HEIGHT = 30
WIDTH = 130
CAPTION = "Salir"
PROCEDURE CLICK
THISFORM.RELEASE
ENDPROC
ENDDEFINE
*-- Fin de MiApp.prg
ENDTEXT
STRTOFILE(lc,"C:\MiApp\MiApp.prg")
*-- Creo el archivo Config.fpw
TEXT TO lc NOSHOW
SCREEN = OFF
RESOURCE = OFF
ENDTEXT
STRTOFILE(lc,"C:\MiApp\Config.fpw")
*-- Genero el PJX y EXE
BUILD PROJECT "C:\MiApp\MiApp.pjx" FROM "C:\MiApp\MiApp.prg", "C:\MiApp\Config.fpw"
BUILD EXE "C:\MiApp\MiApp.EXE" FROM "C:\MiApp\MiApp.pjx"
MESSAGEBOX("Ahora ejecute C:\MiApp\MiApp.EXE",64,"Aviso")
NOTA: Generado para VFP7 y VFP8. En otras versiones puede no encontrarse el archivo de imagen utilizado.
|