2 de octubre de 2015

Pantalla de bienvenida (splash screen)

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 --
--[Cómo crear una pantalla de nivel superior sin icono en la barra de tareas]--
https://support.microsoft.com/es-es/kb/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, VFP8 y VFP9. En otras versiones puede no encontrarse el archivo de imagen utilizado.

Luis María Guayán

No hay comentarios. :

Publicar un comentario