Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Splash screen ,o splashscreen ,o form o ventana de inicio ,o orden de formularios (https://www.clubdelphi.com/foros/showthread.php?t=44140)

Peterman 29-05-2007 19:03:03

Splash screen ,o splashscreen ,o form o ventana de inicio ,o orden de formularios
 
Lo mio es un problema ya solucionado, y escribo este mensaje para que otros no pierdan 3 horas de su vida en esto:

Bien, lo que yo quería hacer era que se me abra un form de inicio durante unos segundo antes de empezar el programa a modo de presentacion (para darle el toque magistral, no!!!).

Bien, en Delphi, es muy facil y mu sencillo, pero por mala suerte no encontraba nada para C++ Builder que me funcionara bien...pues ya estamos.

Mi formulario principal es FPrincipal y la ventanita de inicio es Form1, que viene de TForm1 y su unit es Unit1.h...¿vale?

1º paso: Bueno pueste te creas este formulario Form1, te vas a la propiedad BorderStyle y la pones a bsNone. Le pones la fotito, y tu nombre y etc.

2º paso: en el menú Project vete a sus propiedades (Options...) y en la pestaña de Form te apareceran todos tus forms en la columna de AutoCreate Form, pues manda con las flechitas el Form1 a la columna de Available Form, ok???

3º paso: Tienes que abrir el código del proyecto...en mi C++Borland 6 el View Source está tambien en el menú Project.... bien pues ahí lo único que tienes que añadir es lo siguiente:(lo que está en verde):



#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
USEFORM("UFPrincipal.cpp", FPrincipal);
USEFORM("Unit1.cpp", Form1);
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
TForm1* SplashScreen = new TForm1(Application);
SplashScreen->Show(); //<--
SplashScreen->Update(); //<--

Application->CreateForm(__classid(TFPrincipal), &FPrincipal);
Sleep(3000); //<--
delete SplashScreen; //

Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
}
//-----------------------------------------------------------------------




El Sleep(3000) es para que aguante unos 3 segundos... así de simple pero me ha costao un huevo encontrar la forma correcta de hacerlo...

Ala, espero que alguien lo disfrute...ahh, me encanta las fotos especiales de la gente, o postales de vuestra ciudad...si quereis podeis escribirme una a jpemc313@gmail.com....Adios....:)

reevil 29-05-2007 19:37:53

gracias por compartir

Peterman 29-05-2007 19:46:22

Quería añadir algo más; la página que me ha facilitado la ayuda despues de mucho buscar por internet. creo que está en ruso:

http://www-users.mat.uni.torun.pl/~o...aq/faq.php#t27


Adios a todos :rolleyes:


La franja horaria es GMT +2. Ahora son las 06:03:57.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi