Toon posts:

[Delphi] Splashscreen voor programma*

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo mede tweakers,
ik wil in mijn programma een soort preloader hebben, waarin staat wat het programma kan/doet en
op welke naam die geregistreerd is.
Ik gebruik nu gewoon een form, dat zichzelf afsluit als je op de knop drukt.

Maar nu die vraag, hoe krijg ik zo'n schermpje zoals bij de MS Office programma's??
Kan iemand mij hiermee helpen?

Alvast bedankt.

Verwijderd

zo'n ding heet een splash screen :Y)

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 21:01

.oisyn

Moderator Devschuur®

Demotivational Speaker

kun je niet gewoon een window zonder frame openen?
Ik heb geen ervaring met delphi, maar kun je iets van window styles meegeven?

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Mr.Nobody
  • Registratie: Oktober 2001
  • Niet online
je bedoelt een spashscreen? zoek eens met google op: splashscreen delphi

zoals hier kun je het doen: http://www.delphipages.com/tips/thread.cfm?ID=12

Opensource delphi componenten (http://www.delphi-jedi.org)


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 21:01

.oisyn

Moderator Devschuur®

Demotivational Speaker

Verwijderd schreef op 10 september 2002 @ 19:18:
zo'n ding heet een splash screen :Y)


ik noem ze altijd 'die klote irritante opstartschermpjes' :P

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Topicstarter
Delphi help zegt er niet heel veel over
code:
1
2
3
4
5
6
7
8
procedure TForm1.FormActivate(Sender: TObject);
begin
 if Startup then
 begin
 Startup := False;
 SplashScreen.Show;
 end;
end;


Met ze gebruiker er ook een gewoon standaard form voor ??

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:12

Creepy

Tactical Espionage Splatterer

Gewoon je eigen splashscreen maken, en ja, daar gebruiken ze een "standaard" form voor

Ik weet niet precies wat je wilt maar rommel ff met de borderstyle (bsNone i.c.m. eem graphic die net zo groot is als je form geeft een leuk effect). En sluit dat form dan automatisch na een bepaalde tijd af (m.b.v. een TTimer bijv.).

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Knutselsmurf
  • Registratie: December 2000
  • Laatst online: 17:40

Knutselsmurf

LED's make things better

Creepy schreef op 10 september 2002 @ 19:39:
Gewoon je eigen splashscreen maken, en ja, daar gebruiken ze een "standaard" form voor

Ik weet niet precies wat je wilt maar rommel ff met de borderstyle (bsNone i.c.m. eem graphic die net zo groot is als je form geeft een leuk effect). En sluit dat form dan automatisch na een bepaalde tijd af (m.b.v. een TTimer bijv.).
Ik zou hem sluiten in de show-procedure van je mainform. In mijn ogen is een splash-screen alleen maar bedoeld om te laten zien dat het aangeklikte programma bezig is met laden. Zodra dat klaar is, wil ik kunnen werken.

- This line is intentionally left blank -


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 20:12

Creepy

Tactical Espionage Splatterer

Ik ook.. maar ik vind splashscreens bijna allemaal irritant....en het was ook maar een voorstel he. Ik zou zoiezo geen splashscreen inbouwen, tenzij het opstarten initialiseren van je programme een relatief lange tijd duurt.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

.oisyn schreef op 10 september 2002 @ 19:20:
ik noem ze altijd 'die klote irritante opstartschermpjes' :P
Maar dat googled weer zo rot :Y)
Uw zoekbewerking - klote irritante opstartschermpjes - heeft geen overeenkomstige documenten opgeleverd

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 23:52
Om het standaard splash screen effect te krijgen kun je je bitmap bijna gewoon over de desktop heen blitten, aangezien die dingen doorgaans te lomp zijn om zichzelf te opnieuw te tekenen wanneer hun inhoud verloreren gegaan is.

Meestal zijn 't echter gewone uitgeklede windows, die nergens op reageren.

  • Tomatoman
  • Registratie: November 2000
  • Laatst online: 21:18

Tomatoman

Fulltime prutser

Het eerste form dat met Application.CreateForm wordt gecreëerd, is het hoofdvenster van de applicatie. Als dat gesloten wordt, wordt het programma beëindigd. Je zult dus iets anders moeten doen om een splash screen te maken, want je wilt je splash screen tonen vóór je main form. Het welbekende TMijnForm.Create() biedt een uitweg.

Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program VoorbeeldProg;

uses
  Forms,
  Controls,
  uMain in 'uMain.pas' {Main},
  uAbout in 'uAbout.pas' {About},
  uSplash in 'uSplash.pas' {SplashForm};

{$R *.RES}

begin
  Application.Initialize;
  Application.Title := 'Voorbeeld';
  Screen.Cursor := crAppStart;
  SplashForm := TSplashForm.Create(Application);  // splash screen
  SplashForm.Show;
  SplashForm.Update;
  Application.CreateForm(TMain, Main);    // hoofdvenster
  Application.CreateForm(TAbout, About);  // zomaar een ander venster
  Screen.Cursor := crDefault;
  Application.Run;
end.

Een goede grap mag vrienden kosten.


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 21-08 17:14
Overigens moet je voordat je een splat scherm toont wel effe checken of je niet toevallig onder Windows Terminal Server draait. Zo'n scherm kost relatief veel bandbreedte, en als er 's ochtends om 8:30 100 man proberen jouw app op te starten is dat niet leuk. Dus de officiele MS guideline is dat je voordat je dat scherm tekent, je checkt of je op "Winsta0" displayt.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • whoami
  • Registratie: December 2000
  • Laatst online: 23:04
tomatoman schreef op 10 september 2002 @ 22:26:
Het eerste form dat met Application.CreateForm wordt gecreëerd, is het hoofdvenster van de applicatie. Als dat gesloten wordt, wordt het programma beëindigd. Je zult dus iets anders moeten doen om een splash screen te maken, want je wilt je splash screen tonen vóór je main form. Het welbekende TMijnForm.Create() biedt een uitweg.

Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program VoorbeeldProg;

uses
  Forms,
  Controls,
  uMain in 'uMain.pas' {Main},
  uAbout in 'uAbout.pas' {About},
  uSplash in 'uSplash.pas' {SplashForm};

{$R *.RES}

begin
  Application.Initialize;
  Application.Title := 'Voorbeeld';
  Screen.Cursor := crAppStart;
  SplashForm := TSplashForm.Create(Application);  // splash screen
  SplashForm.Show;
  SplashForm.Update;
  Application.CreateForm(TMain, Main);    // hoofdvenster
  Application.CreateForm(TAbout, About);  // zomaar een ander venster
  Screen.Cursor := crDefault;
  Application.Run;
end.



Je vergeet wel van uw splashscreen opnieuw te hiden en vrij te geven. ;)

Dit is anders wel de manier die ik ook gebruik om een splash-screen te tonen.

https://fgheysels.github.io/


  • Mr.Nobody
  • Registratie: Oktober 2001
  • Niet online
whoami schreef op 11 september 2002 @ 08:56:
Je vergeet wel van uw splashscreen opnieuw te hiden en vrij te geven. ;)
.
nee, want ik heb bv een programma gemaakt die een groot databestand inlaad over een trage netwerk verbinding. het splashscreen geef ik dus vrij, als de data geladen is, in mijn mainunit.

Opensource delphi componenten (http://www.delphi-jedi.org)


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Verwijderd schreef op 10 september 2002 @ 19:22:
Delphi help zegt er niet heel veel over

[..]
Ooo? Er staat zelf een compleet en zeer goed werkend voorbeeld in de Help:
This example shows progress of loading forms as an application starts up. The code example is placed in the project source (*.dpr) file. To see project source, select the View | Project Source menu item.
You will need to set up your project with the following steps before using the code example:

Add four additional forms to a default project.
Place a TProgressBar on Form5
Take the Project|Options|Forms menu option and place Form5 on the available forms list.
Change the code of your project (*.dpr) file to look like the example.
Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
begin
  Application.Initialize;
  with TForm5.Create(nil) do
  try
    ProgressBar1.Max := 100;
    Show;   // show a splash screen contain ProgressBar control
    Update; // force display of Form5
    Application.CreateForm(TForm1, Form1);
    ProgressBar1.StepBy(25);
    Application.CreateForm(TForm2, Form2);
    ProgressBar1.StepBy(25);
    Application.CreateForm(TForm3, Form3);
    ProgressBar1.StepBy(25);
    Application.CreateForm(TForm4, Form4);

    ProgressBar1.StepBy(25);
  finally
    Free;
  end;
  Application.Run;
end.

"The shell stopped unexpectedly and Explorer.exe was restarted."

Pagina: 1