![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
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 - |
![]() |
|
|
![]() |
|