![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
|
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 - |
|
#2
|
||||
|
||||
|
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.
|
|
#3
|
||||
|
||||
|
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.
|
|
#4
|
|||
|
|||
|
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 |
|
#5
|
|||
|
|||
|
Muchas gracias a los dos. Funciona todo lo que me habéis dicho perfectamente.
Hasta pronto, - Ane - |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|