Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Reaktion auf das FormClose Ereigniss (https://www.delphipraxis.net/82046-reaktion-auf-das-formclose-ereigniss.html)

Darkchild 7. Dez 2006 10:55


Reaktion auf das FormClose Ereigniss
 
Mahlzeit,

ich habe ein Fenster welches sich bei klick auf das rote X (oben rechts) schliesst.
Jetzt habe ich noch eine Abfrage im FormClose platziert ob das Fenster wirklich geschlossen werden soll, denn wenn ja gehen alle bisher nicht gespeicherten Datensätze verloren.
So wenn man jetzt auf nein klickt soll das Fenster aber geöffnet bleiben, habe das über ein erneutes Form Show gemacht, das Problem welches ich jetzt habe ist das er das Fenster dann aber minimiert.
Wie kann ich denn den Close - Vorgang abbrechen das es so bleibt wie es ist und nicht verkleinert wird ?

Zum besseren vertändniss hier der Quellcode:

Delphi-Quellcode:
procedure Tfrmtaetigkeitenansicht.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
if MessageDlg('Alle nicht gespeicherten Einträge gehen durch das Beenden verloren !'+#13+#10+'Dennoch das Fenster schleißen ?', mtWarning, [mbYes, mbNo], 0) = mryes then
  begin
  action := cafree;
  frmtaetigkeitenansicht := nil;
  DataModuleMain.ibtrtaetigkeiten.Rollback;
  end
else
  begin
  frmtaetigkeitenansicht.Show;
  end;
end;
Gruss
Darkchild

P.S: Habe auch versucht hinter dem Show mit frmtaetigkeitenansicht.windowstate := wsnormal zu arbeiten, aber das bringt nix.

Maja Jessica 7. Dez 2006 10:59

Re: Reaktion auf das FormClose Ereigniss
 
Moin,

benutze doch einfach
Delphi-Quellcode:
FormCloseQuery(Sender: TObject; var CanClose: Boolean);
Damit kannst du mit CanClose das Schliessen bestimmen.

MJ

Darkchild 7. Dez 2006 11:17

Re: Reaktion auf das FormClose Ereigniss
 
@Maja Jessica

Vielen Dank, haut hin.
Musste das jetzt nur alles stimmig miteinander verbinden und jetzt läuft es wie geschmiert :thumb: .

Gruss
Darkchild

SirThornberry 7. Dez 2006 12:49

Re: Reaktion auf das FormClose Ereigniss
 
man kann auch das OnClose nutzen und "caNone" für action setzen damit es nicht schließt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:21 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz