Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di gokan
    Registrato dal
    Feb 2003
    Messaggi
    262

    [Delphi]Gestione delle form

    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):
    codice:
    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?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    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):
    codice:
    begin
      Application.Initialize;
      OpzioniBox := TOpzioniBox.Create(Application);
      try
        OpzioniBox.ShowModal;
      finally
        OpzioniBox.Free;
        OpzioniBox := nil;
      end;
      Application.CreateForm(TMainForm, MainForm);
      Application.Run;
    end.
    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.