Ver Mensaje Individual
  #3  
Antiguo 05-05-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Para conseguir lo que deseas, debes emplear el evento OnCloseQuery:

Código Delphi [-]
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  if IDYES = MessageBox(Handle,'¿Desea cerrar?','Advertencia',MB_YESNO)
    then CanClose := True
    else Canclose := False;
end;

Este evento se dispara en el momento de la orden del cierre del formulario y tiene un parámetro por valor (CanClose) que permite determinar si debe o no cerrarse. Si el valor es verdadero, se ejecuta el evento OnClose que corresponde al cierre, si se pone en falso, se cancela el cierre.

MessageBox() es una función que permite mostrar en pantalla un cuadro de díalogo. Y regresa un valor que representa la acción del botón pulsado.
Por ejemplo: la constante MB_YESNO, pemite mostrar dos botones: SI y NO. Y dependiendo de cual botón se pulse... se devuelve un valor que comparo con IDYES. Si es igual... se que se ha oprimido el botón SI.

Fijate y estudia el evento onCloseQuery. Deberás codificar que hacer ante la orden SI o ante la orden NO.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]

Última edición por Delphius fecha: 05-05-2007 a las 05:19:32. Razón: El código estaba mal
Responder Con Cita