Delphi-PRAXiS
Seite 1 von 2  1 2      

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/)
-   -   Formular schliessen verhindern, wie? (https://www.delphipraxis.net/147394-formular-schliessen-verhindern-wie.html)

khh 7. Feb 2010 14:34


Formular schliessen verhindern, wie?
 
hallo zusammen,
ich möchte verhindern dass ein Formular über das X oben rechts ohne Abfrage geschlossen werden kann?
der msgdlg im onclose funtioniert ja nicht.
Wie kann ich das umsetzen?

danke Gruss KH

implementation 7. Feb 2010 14:36

Re: Formular schliessen verhindern, wie?
 
Delphi-Quellcode:
procedure TForm1.FormClose(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := false;
end;

daywalker9 7. Feb 2010 14:36

Re: Formular schliessen verhindern, wie?
 
hi!

du kannst im FormCloseQuery bestimmen, ob die form geschlossen werden darf. Setzt du CanClose auf false, kann das Formular nicht geschlossen werden

Delphi-Quellcode:
procedure TForm3.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := false;
end;

khh 7. Feb 2010 14:39

Re: Formular schliessen verhindern, wie?
 
Zitat:

Zitat von daywalker9
hi!

du kannst im FormCloseQuery bestimmen, ob die form geschlossen werden darf. Setzt du CanClose auf false, kann das Formular nicht geschlossen werden

Delphi-Quellcode:
procedure TForm3.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := false;
end;

vieleicht hab ich mich falsch ausgedrückt.
das Form kann über einen Button nach einer sicherheitsabfrage (msgdialog) geschlossen werden.
Die gleiche Abfrage möchte ich haben, wenn jemand aufs X drückt.


Gruss KH

mkinzler 7. Feb 2010 14:42

Re: Formular schliessen verhindern, wie?
 
Genau dafür ist ja der gepostete Code

Luckie 7. Feb 2010 14:42

Re: Formular schliessen verhindern, wie?
 
Impmentiere einfach das Ereignis OnCloseQuery und rufe mit der Schaltfläche nur die Methode Close auf.

Noedel 7. Feb 2010 15:07

Re: Formular schliessen verhindern, wie?
 
Ich glaube er sucht nach der Funktion "MessageDLG"...
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose:=false;
  If MessageDlg('Beenden?',MTConfirmation,[MbYes,MbNo],0)=MrYes then
    CanClose:=true;
end;

Luckie 7. Feb 2010 15:08

Re: Formular schliessen verhindern, wie?
 
Laut Aussage hat er das doch schon.

freak4fun 7. Feb 2010 15:09

Re: Formular schliessen verhindern, wie?
 
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := MessageDlg('Beenden?',MTConfirmation,[MbYes,MbNo],0) = MrYes;
end;

Noedel 7. Feb 2010 15:13

Re: Formular schliessen verhindern, wie?
 
Zitat:

Zitat von Luckie
Laut Aussage hat er das doch schon.

Dann hab ich die Problematik nicht verstanden :stupid:

Zitat:

Zitat von freak4fun
Delphi-Quellcode:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := MessageDlg('Beenden?',MTConfirmation,[MbYes,MbNo],0) = MrYes;
end;

Ok, das ist noch etwas schöner ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:13 Uhr.
Seite 1 von 2  1 2      

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