Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Evitar cerrar una ventana (https://www.clubdelphi.com/foros/showthread.php?t=54177)

Ubed 11-03-2008 10:24:19

Evitar cerrar una ventana
 
Hola, se que es muy facil pero ahora mismo no lo recuerdo.

¿Como hago para que cuando cierre una ventana me pregunte si estoy seguro y si le digo que no abortar esa salida?
Código Delphi [-]
if MessageDlg('Se va a cerrar la ventana ¿Quieres continuar?', mtConfirmation, [mbYes, mbNo], 0)=mrNo then
  (¿Que debo poner aqui?);

dec 11-03-2008 10:29:03

Hola,

Usa el evento de los formularios "OnCloseQuery" y su parámetro "CanClose".

clopezr 11-03-2008 10:29:41

Tienes 2 opciones ...
 
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
i: integer;
begin
if MessageDlg('Se va a cerrar la ventana ¿Quieres continuar?', mtConfirmation, [mbYes, mbNo], 0)=mrNo then
Abort;
end;


procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if MessageDlg('Se va a cerrar la ventana ¿Quieres continuar?', mtConfirmation, [mbYes, mbNo], 0)=mrNo then
CanClose := false;
end;

Ubed 11-03-2008 10:31:54

Muchas gracias, esto a sido rapido.

Hmartinazzi 12-02-2021 17:46:59

Y Como tendía que hacerse en Android?
 
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var
i: integer;
begin
if MessageDlg('Se va a cerrar la ventana ¿Quieres continuar?', mtConfirmation, [mbYes, mbNo], 0)=mrNo then
Abort;
end;


procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if MessageDlg('Se va a cerrar la ventana ¿Quieres continuar?', mtConfirmation, [mbYes, mbNo], 0)=mrNo then
CanClose := false;
end;

Esto no funciona en android.


La franja horaria es GMT +2. Ahora son las 16:52:00.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi