Hola a todos.
Me he animado a colarme en este foro para comentaros una cosa curiosa que he descubierto hace poco. Yo utilizo Builder 6 y un día rebuscando en la ayuda descubro un ejemplo de cómo utilizar una función manejadora del evento OnClose. Representa que creando esta función podemos hacer cosas, entre ellas evitar que se cierre el Form.
Bien, el ejemplo es claro y conciso: haz doble clic sobre el evento OnClose y añade el siguiente código de manera que al final debe quedar algo así:
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
if (MessageDlg("Close application ?", mtConfirmation, TMsgDlgButtons() << mbYes << mbNo,0) == mrYes)
Action = caFree;
else
Action = caMinimize;
}
Este código permite o bien cerrar el form o bien minimizar. Ni corto ni perezoso lo pruebo. En un proyecto nuevo y pelado copio el código. Y compilo. Y se me abre la boca de asombro al ver que, una vez pulses el botón de cerrar, pulses el botón que pulses del diálogo el resultado es que siempre se cierra el form. ¿Curioso, no? . Eso sí, seguro que en Delphi funciona...
Saludos!!!