Newsgroup: it.comp.lang.delphi
Titolo: Splash screen, help me !

Ciao a tutti,
sono un princiapiante per quanto riguarda la programmazione in Delphi e
quindi ho difficoltà per quello che per la maggior parte dei programmatori
può essere molto semplice.
Il mio problema è il seguente : Nel mio programma composto da 4 Form voglio
inserire uno splash screen inziale per alcuni secondi, a tale scopo ho
creato un nuovo form con inserito un timer che lo chiude a tempo.
Nel project source o eseguito una show del mio form, il problema è che la
form principale (form1) appare sopra lo splash screen e non sotto. Ho
tentato di usare la hide ma non sono riuscito nello scopo, quale è il modo
corretto per avere in primo piano lo splash screen ? o forse è meglio
seguire un'altra procedura ?
Grazie a chiunque voglia darmi un aiuto e/o suggerimento.
ciao
rober...@infinito.it

fromStyle:=StayOntheTop  per il form "splash"

 ha scritto nel messaggio
news:9cebec$le3$1...@nreadA.inwind.it...

Ok, procediamo con ordine.
Crea una nuova form.
Toglila dall'Autocreate( Project|Options).
Poi metti un timer sulla form.
Metti nell'OnShow della form principale una chiamata a Sleep( così si
"addormenta" per i secondi necessari ).
Poi chiudi la splash, la form si risveglia e... tac! il gioco è fatto!
Andrea

 ha scritto nel messaggio
news:9cebec$le3$1...@nreadA.inwind.it...

nel metodo FormCreate della form procipale
procedure TForm1.FormCreate(Sender : TObject)
begin
  with TSplashForm.Create(application) do begin
    BorderStyle := bsNone;
    FormStyle := fsStayOnTop;
    Show;
    Update;
    Timer1.Enabled := True;
  end;
end;
procedure TSplashScreen.Timer1Timer(Sender : TObject)
begin
  Close;
  Release;
end;
dove la TSlashScreen ha un ovviamente  un componente TTimer inserito, e
disbilitato.

"addormenta" per i secondi necessari ).
Non c'e' bisogno di crearla dinamicamente e non c'e' bisogno del
timer.
program Project2;
uses
  Forms, Windows,
  Unit1 in 'Unit1.pas' {Form1},
  Unit2 in 'Unit2.pas' {Form2};
{$R *.RES}
begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Form2.Show ;  // visualizza splash form
  Form2.Update ;
  Sleep( 3000 ) ;
  Form2.Close ;
  Application.Run;
end.

 ha scritto nel messaggio
news:3aeaee8a...@news.libero.it...

Se non vuoi appesantire inutilmente l'applicazione puň essere una buona cosa
di creare una form dinamicamente.


L'unica cosa è questo sorgente "sconvolge" il file di progetto.
Non dico che è sbagliato( perché è giusto ), magari è anche più semplice.
Voglio dire però che il file di progetto va toccato il meno possibile, anche
se la soluzione è - peraltro _di poco_ -più "macchinosa"( anche  se in
realtà non c'è niente di macchinoso ).
Detto questo, ti voglio ringraziare ancora una volta per lo _splendido_
aiuto che mi hai dato sugli NG di Cantù.
Andrea

di creare una form dinamicamente.
perche' e' forse stata creata "staticamente"? ;)
Ciao,
Alan Solo

di creare una form dinamicamente.
Se la preoccupazione e' quella di non appesantire l'applicazione,
l'uso di uno splash form dinamico e' l'ultimo dei problemi.

aiuto che mi hai dato sugli NG di Cantů.
Figurati ;)


:=)))
Andrea