PDA

Visualizza la versione completa : [Delphi]Gestione delle form


gokan
20-08-2003, 22:40
Ho qualche problemino con le form. Come faccio ad evitare la chiusura di una finestra se
ad esempio in tale finestra una casella edit ancora vuota?
Devo collegare tale metodo all'evento OnClose della finestra?
In pratica all'avvio di un programma si apre una finestra prima una finestra (OpzioniBox):


procedure TTennisForm.FormShow(Sender: TObject); //TennisForm finestra principale
begin
OpzioniBox.ShowModal;
end;


Alla chiusura(della finestra OpzioniBox) o alla pressione del tasto OK(della finestra OpzioniBox)
in ogni caso viene aperta la finestra principale (tennisForm).
Volevo mettere un controllo che mi permettesse di bloccare l'apertura della finestra principale
in determinati casi (da vedere in OpzioniBox).
Cosa dovrei fare?
E' possibile scegliere di aprire prima una finestra come OpzioniBox e poi quella principale?

alka
20-08-2003, 23:11
Per evitare a livello programmatico la chiusura delle finestre, puoi gestire l'evento OnCloseQuery della form.
Maggiori dettagli sulla Guida in linea.

Per quanto riguarda la visualizzazione di una finestra all'avvio del programma, fattibile, ma devi modificare in qualche modo direttamente il codice sorgente del progetto (mi riferisco al file DPR).

La form principale (MainForm) deve essere sempre la prima form ad essere creata tramite la chiamata al metodo Application.CreateForm. Il problema che la form principale, quando viene chiusa, provoca anche la chiusura del programma.

Potresti tentare in questo modo (chiaramente il codice deve essere adattato):


begin
Application.Initialize;
OpzioniBox := TOpzioniBox.Create(Application);
try
OpzioniBox.ShowModal;
finally
OpzioniBox.Free;
OpzioniBox := nil;
end;
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.

Ciao! :ciauz:

Loading