Ver Mensaje Individual
  #1  
Antiguo 29-05-2007
Avatar de Peterman
Peterman Peterman is offline
Miembro
 
Registrado: jun 2006
Ubicación: Almeria (España)
Posts: 50
Reputación: 18
Peterman Va por buen camino
Smile 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 siguientelo 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....
Responder Con Cita