Splash Screen

Tags:    c++

<< < 12 > >>
Hej Udviklere

hvordan laver man en splash screen altså ligesom en der kommer lige når man åbner programmet og der står
"Microsoft Word 2007"
med c++ Builder 6 borland











14 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
SplashScreenen bruges også i mange tilfælde som en loader.



Glem min tidliger post.

Her er hvad du skal gøre:

Lav en ny VCL Form Application.
Tilføj en ekstra form(Form2) til projektet.

Gå til Project->Options...->Forms Og ryk Form2 fra "Auto create forms" til "Available forms"

Højre klik på din Project1.exe og vælg "view source" og skriv følgende:

Fold kodeboks ind/udKode 


Gå til Form2:
Sæt "BorderStyle" til bsNone og "Position" til poScreenCenter.
Under "BorderIcons" sætter du: "biSystemMenu" til false, "biMinimize" til false, "biMaximize" til false.
Så skulle du have en splash screen :)

Hvis du vil lave den lidt fancy kan du for eksempel gøre følgende.

Smide en TPanel på form2. På den sætter du:

Align = alClient;
Caption = "";
BevelInner = bvRaised;
BorderStyle = bsSingle;
BewelWidth = 3;

Og så kan du jo slutte af med et billede og lidt tekst. :)










Indlæg senest redigeret d. 02.08.2007 13:14 af Bruger #12112
Hej Mikkel

Jeg har aldrig selv skulle bruge en splash screen før. Men en splash screen er jo bare en form som alle andre, så du kan jo bare sætte BorderStyle til bsNone på din form1, smække et billede og/eller noget tekst på. Og så lade den stå 5 sekunder eller hvor længe du nu har lyst til før den åbner form2. Til dette kan du eventuelt bruge, TTimer som er at finde under "System". Eller Sleep(), som er i time.h headeren.





jep - men man kan jo bare kyle noget med noget kød på ind i stedet for en sleep() :)



Hej igen


nu har jeg lavet det men jeg får en fejlmelding i popup
den lyder sådan:

Project miafsplash.exe raised exeption class EInvalidOperation with message "Cannot make visible window modal" process stopped use step or run to continue



Frem med koden :) så ser jeg om jeg kan finde ud af det i morgen.



Form1:

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
Form2->ShowModal();
}
//---------------------------------------------------------------------------

Form2

//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------




det har jeg gjort nu men form 2 vil ikke forsvinde hvordan gør man det??



Er du sikker på du har gjort 100% som jeg skrev - prøv lige at løbe det igennem en ekstra gang, eventuelt copy paste min kode ind i din Project1.exe fil. For husk det er den du skal skrive koden i.

Skrev det mens jeg lavede den selv - så jeg er rimelig sikker på at det skulle virke.

(Der skal ingen kode i hverken Form1 eller Form2.)



nu har jeg gjort det kan du ikke sende den til min mail?



<< < 12 > >>
t