Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Se puede Manipular el botón de cerrar del Form (x) Delphi (https://www.clubdelphi.com/foros/showthread.php?t=93553)

Missael 08-11-2018 21:33:57

Se puede Manipular el botón de cerrar del Form (x) Delphi
 
Buenas tardes a todo el foro, tengo una duda, quiero saber si puedo manipular el botón por default del form para cerrar (x) de tal forma que en un principio solo minimice el después de realizar una acción la aplicación, al dar clic me pregunte si deseo salir realmente.

Espero puedan ayudarme

Buen día

Caminante 08-11-2018 21:40:20

Cita:

Empezado por Missael (Mensaje 529449)
Buenas tardes a todo el foro, tengo una duda, quiero saber si puedo manipular el botón por default del form para cerrar (x) de tal forma que en un principio solo minimice el después de realizar una acción la aplicación, al dar clic me pregunte si deseo salir realmente.

Espero puedan ayudarme

Buen día


Hola


La verdad no entendi muy bien lo que escribiste, pero si lo que quieres es confirmar si se desea salir antes de cerrar el form puedes usar el evente OnClosequery del form.


Código Delphi [-]
procedure TFrmMain.FormCloseQuery(Sender: TObject; var CanClose: boolean);
begin
  CanClose:=Application.MessageBox('¿Esta seguro de salir?','Salir',MB_YESNO + MB_ICONQUESTION)=ID_YES;
end;


Espero sea util


Saludos

Missael 08-11-2018 21:50:22

Gracias por responder Caminante, tratare de ser mas especifico, lo que pasa es que tengo una aplicación que sube archivos a un servidor, pero mientras este realizando el proceso de subir los archivos, quiero que el cuadro de cerrar del form, tenga como unica accion el minimizar la aplicacion, eso ya lo estoy haciendo con el evento onClosequery, pero quiero que cuando termine de subir los archivos, tenga su funcionalidad normal, que es el de cerrar el Form

Esto se puede hacer?

Espero haber sido mas especifico en mi requerimiento.

Casimiro Notevi 08-11-2018 22:00:20

Esquemáticamente, por ejemplo, cuando inicias una subida de archivos, pones una variable a true: bSubiendoArchivos := true;
Entonces si alguien va a cerrar el programa:
Código Delphi [-]
if bSubiendoArchivos then
  minimize
else
  close;

Caminante 08-11-2018 22:00:46

Ahora si entendi. En tal caso puedes probar usando una variable a modo de bandera (de tipo boolean) y verificarla en el evento closequery


Código Delphi [-]
procedure TFrmMain.FormCloseQuery(Sender: TObject; var CanClose: boolean);
begin
 If Bandera then
 begin
   canclose:=false;

    MinimizarVentana
end

else

  CanClose:=Application.MessageBox('¿Esta seguro de salir?','Salir',MB_YESNO + MB_ICONQUESTION+ MB_DEFBUTTON2)=ID_YES;
end;




Saludos

Missael 08-11-2018 22:20:05

Muchas gracias Casimiro y Caminante, me ayudaron muchisimo. Muy buena la ayuda.

Saludos


La franja horaria es GMT +2. Ahora son las 18:27:57.

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