Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Ayuda con los splash screen!!!

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Ayuda con los splash screen!!! Responder citando

Hola...
Veran que soy ciertamente novato en el manejo del C++Builder y me gustaria que me ayudaran para solucionar un problemin que tengo:
Es para crear un splash screen como en visual basic; ignoro si haya algun formulario con las caracteristicas propias de un splash screen o si debo de diseñarlo totalmente "a pie" ...
por su atencion, agradecido de antemano

Fernando Domínguez

Volver arriba
Mensaje    Asunto: Ayuda con los splash screen!!! Responder citando

En el ejemplo se da por supuesto que ya tienes una aplicación creada y vas a añadirle la Splash Screen. El form principal se llama Form1. Asegúrate de darle a File-Save y guarda todo el proyecto (Project1 por defecto) y formularios.

1. Ve al menu File y elige New Form.
2. Renombra el form. Para el ejemplo lo llamaremos Splash.
3. Graba el proyecto. Cuando te pregunte guardar la Unit2.cpp renombrala a SplashSource.cpp

Creación de la Splash Screen:

4. En el inspector de objetos elige +BorderIcons. Haz doble clic en la columna de la izquierda. Veras 4 opciones, ponlas todas a False (BorderIcons []). Cambia

  • BorderStyle = bsNone
  • FormStyle = fsStayOnTop
  • Position = poScreenCenter

5. Pon un panel en el form (Panel1). Pon las propiedades del panel como sigue:

  • Align = alClient
  • BevelInner = bvLowered
  • BevelOuter = bvLowered
  • BevelWidth = 2

6. Pon un TImage dentro del panel (TImage1). Establece las propiedades siguientes:

  • Align = alClient
  • Stretch = true
  • Carga un BMP (haciendo doble clic en el TImage del form)

7. Ve al editor de codigo y haz doble clic sobre el evento OnShow del Form Principal (Form1 o como lo hayas renombrado). Deja el evento como sigue:

code:
void __fastcall TForm1::FormShow(TObject *Sender)
{
if (Splash)
{
delete Splash;
Splash = NULL;
}
}

8. Haz clic en el menu View y elige Project Manager. Abre el fuente del proyecto. Aquí se muestra como ha de quedar el código:

code:
#include <vcl.h>
#pragma hdrstop
#include "SplashSource.h"
USERES("Project1.res");
USEFORM("Unit1.cpp", Form1);
USEFORM("SplashSource.cpp", Splash);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Splash = new TSplash (static_cast<void *>(NULL)); // Añade esta línea
Splash->Show(); // Añade esta línea
Application->ProcessMessages(); // Añade esta línea
Application->CreateForm(__classid(TForm1), &Form1);
// Application->CreateForm(__classid(TSplash), &Splash); Comenta esta linea!
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
return 0;
}

9. Añade la cabecera "SplashSource.h" tanto al Project1.cpp (archivo de proyecto) como al Unit1.cpp (form principal).

#include "SplashSource.h"

10. Si el Splash es demasiado rápido porque tu aplicación tarda poco en cargar añádele un timer. Haz doble clic en el evento OnCreate del form principal y escribe:

code:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
if (Splash)
{
Sleep(2000);
}
}

Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.