Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-08-2003
Ane Ane is offline
Registrado
 
Registrado: jul 2003
Posts: 5
Poder: 0
Ane Va por buen camino
Question Trabajar con MessageBox de 3 btn (sí,no,cancelar)

Hola ,
Mi problema se basa en intentar crear el MessageBox típico que aparece al finalizar una aplicación. En ellos aparecen 3 opciones: sí,no,cancelar.
Ya sé crear el MessageBox (he leído otros hilos anteriores), pero no sé cómo asignar código distinto a cada opción. Es decir, si se selecciona sí, se guarda la información , si se selecciona no, sólo se cierra la aplicación y si se selecciona cancelar, no se hace nada.
He escrito lo siguiente:

if Application.MessageBox('¿Desea guardar los cambios?',
'Confirmación',(MB_YESNOCANCEL + MB_ICONQUESTION + MB_DEFBUTTON1))= ID_YES then
begin
actGuardarExecute(Sender);
Application.Terminate;
end
else Application.Terminate;

El problema aquí es que le da igual si se selecciona no o cancelar, pero es que no se me ocurre cómo seleccionar cada opción por separado.
Si alguien pudiera darme alguna pista, lo agradecería mucho.
Gracias de antemano,
- Ane -
Responder Con Cita
  #2  
Antiguo 08-08-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Código:
  case Application.MessageBox('¿Desea guardar los cambios?',
                              'Confirmación',(MB_YESNOCANCEL + MB_ICONQUESTION + MB_DEFBUTTON1)) of
    ID_YES:
      actGuardarExecute(Sender);
      Application.Terminate;
    ID_NO:
      Application.Terminate;
    ID_CANCEL: {Puedes suprimir el Cancel si no quieres mostrar el mensaje}
      ShowMessage('Operación Cancelada!');
  end;
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #3  
Antiguo 08-08-2003
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Código:
var
  iResult: Integer;
begin
  iResult := Application.MessageBox('¿Desea guardar los cambios?',
                                    'Confirmación',(MB_YESNOCANCEL + MB_ICONQUESTION + MB_DEFBUTTON1));

  if iResult = ID_YES then
  begin
    actGuardarExecute(Sender);
    Application.Terminate;
  end
  else if iResult = ID_NO then
    Application.Terminate

  {Puedes suprimir el Cancel si no quieres mostrar el mensaje}
  else if iResult = ID_CANCEL then
      ShowMessage('Operación Cancelada!');
end;
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 08-08-2003
Beckham Beckham is offline
Registrado
 
Registrado: ago 2003
Posts: 5
Poder: 0
Beckham Va por buen camino
hola iré algo rápido porque tengo un poco de prisa, lo siento. Prueba esto.

var resultado:integer;

.....

resultado:=Application.MessageBox('¿Desea guardar los cambios?',
'Confirmación',(MB_YESNOCANCEL + MB_ICONQUESTION + MB_DEFBUTTON1));
case resultado of
IDYES:begin //Código del sí
actGuardarExecute(Sender);
Application.Terminate;
end;
IDNO:begin
Application.Terminate; //Código del NO
end;
else
// Código del IDCANCEL
end;


...........

Espero que te funcione
Responder Con Cita
  #5  
Antiguo 08-08-2003
Ane Ane is offline
Registrado
 
Registrado: jul 2003
Posts: 5
Poder: 0
Ane Va por buen camino
Muchas gracias a los dos. Funciona todo lo que me habéis dicho perfectamente.
Hasta pronto,
- Ane -
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 23:12:06.


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
Copyright 1996-2007 Club Delphi