PDA

Ver la Versión Completa : como cancelar un click en el boton (X) de un formulario????


mguixot
29-07-2003, 11:59:00
Hola amigos,
mi duda es saber si al pulsar sobre la (X) de un formulario para cerrarlo, podemos preguntarle al usuario si 'esta seguro de salir', y en caso de cancelar la operacion de cerrar, como podemos cancelar ese evento para que no nos cierre el formulario y poder seguir trabajando?.

He probado a utilizar en el evento OnDestroy y onClose, un Exit y un Abort, pero no he conseguido el resultado que queria.

Saludos y muchas gracias


Ejemplo Codigo:

procedure TRecargasTelef.FormDestroy(Sender: TObject);
begin
if Application.MessageBox('¿Desea salir de Recargas Telefónicas 1.0?', 'Recargas telefónicas 1.0', MB_ICONQUESTION + MB_OKCANCEL) = mrOK then
begin
//***********//
close;
end
else
Abort;
end;

FRANKER
29-07-2003, 12:11:15
Prueva en el Evento onCloseQuery del Form Principal:

procedure TFmMenu.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if Application.MessageBox('¿Desea salir de Recargas Telefónicas 1.0?', 'Recargas telefónicas 1.0', MB_ICONQUESTION + MB_OKCANCEL) = mrOK then
CanClose := True
else
CanClose := False;
end;

mguixot
29-07-2003, 12:23:35
Ya he conseguido resolver mi problema. Despues de consulta la ayuda de delphi, he encontrado hasta un ejemplo. Siento la evidencia del error.
Voy a poner el ejemplo, para el que le pueda interesar.

Saludos.

procedure TRecargasTelef.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if Application.MessageBox('¿Desea salir de Recargas Telefónicas 1.0?', 'Recargas telefónicas 1.0', MB_ICONQUESTION + MB_OKCANCEL) = mrOK then
WeraocxRecarga.ClosePlugin
else
Action := caNone; // cancela el evento de cerrar la ventana

end;

:p