FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Mensaje antes de salir
Leí hace tiempo que habia una función para mostrar un mensaje antes de cerrar la aplicación.
Me explico mejor con un ejemplo: Cuando estamos por ejemplo con el block de notas y damos a salir, nos sale un mensaje que dice "¿Desea usted guardar los cambios antes de salir?" pues bien, eso es lo que quiero hacer yo, que se muestre ese mensaje con los botoncitos respectivos de aceptar y cancelar. Lo tengo que hacer creando una form nueva a mano, o hay algo que te lo de. gracias y un saludo. |
#2
|
||||
|
||||
En el evento OnCloseQuery se suministra un parámetro booleano (CanClose). Este parámetro determina si el formulario debe o no cerrarse.
Investiga un poco sobre este evento. Busca en los foros por onCloseQuery y obtendras buenos resultados. tu deberás hacer algo como:
No tengo Delphi a mano. Saludos, |
#3
|
||||
|
||||
Vale buscare, gracias.
|
#4
|
||||
|
||||
Hola
Para salir del programa en el evento onclose: Para validar o guardar etc: Bueno me imagino que es asi. Saludos |
#5
|
|||
|
|||
Caundo usas formas heredadas es facil utilizar en la forma base:
Con lo cual Validas todos los datasources de tu forma, que porque datasource y no dataset, es por los que usamos los datasets en un modulo Espero te sirva de algo |
#6
|
||||
|
||||
Gracias, despues de ponerlo ha quedado muy chulo jejeje
|
#7
|
||||
|
||||
Como podría poner el mismo mensaje pero con aparte de 'si' y 'no' poniendo la opcion de 'cancelar'?
|
#8
|
||||
|
||||
Para hacer que la combinación sea SI,NO,CANCELAR existe la constante MB_YESNOCANCEL.
Fijate en el ejemplo que te expongo: Como notarás, no sólo establezco que dicha constante sino que además, le indico que en la apariencia de cuadro de díalogo aparezca un globo de información. Te sugiero que veas ayuda sobre el MessageBox() para que conozcas cada constante de parámetro y de salida. Como asi para entender mejor el funcionamiento de MessageBox(). Saludos, |
#9
|
||||
|
||||
Hola
Para que ya no tengas que estar pensando en los mensajes. El programa (Constructor.zip) que esta aqui: http://www.terawiki.clubdelphi.com/D.../Herramientas/ Te ayudara a hacer los mensajes como los quieres, es simplisimo de usar y no se tiene que instalar ni nada, solo le das click y ya. Una vez hecho el mensaje, copias el codigo (que genera el programa) y lo pegas en delphi, mas simple nada. Saludos |
#10
|
||||
|
||||
Y como alternativa, puedes emplear Message Dialog de la GExperts. Sitúa el cursor donde quieres poner el código de tu mensaje. Te vas a Message Dialog, le indicas el texto, las contantes.. OK y ¡Listo! ya tienes tu messagebox().
Saludos, |
#11
|
||||
|
||||
Hola
Esto lo unico que demuestra es que somos unos perezosos para hacer los mensajes a mano y nos buscamos alternativas, a que no. Saludos |
#12
|
||||
|
||||
Gracias una vez mas (esta debe de ser la numero 1000) jajaja
De eso se trata, pensar más para hacer menos. |
#13
|
||||
|
||||
Vale ya le he pillado el truco a esto, no es tan dificil, pero una cosilla más, esto se puede hacer para que no cierren el programa de golpe? (evitar que presionen la x de cerrar el programa).
|
#14
|
||||
|
||||
El evento onCloseQuery está precisamente para evitar cerrar un formulario.
Cuando tu presionas en la X se dispara primero el evento onCloseQuery, si tiene asignado algún código en este evento se ejecutará. De otro modo se procede con onClose. Es decir el orden es: 1). "Preguntar si tiene asignado onCloseQuery": que hacer al momento de recibir la orden de cierre. 2). "Preguntar si tiene asignado onClose": que hacer al momento del cierre. Ahora, si lo que tu quieres es deshabilitar la X hay varias maneras de hacerlo. Una manera es seteando la propiedad BorderIncons en vacio. Hay otros trucos para conseguirlo (que en este momento no recuerdo), pero en lo personal no prefiero ocultar dicho botón. Saludos, |
#15
|
||||
|
||||
Lo único que quiero es que cuando se presione la X, salga el típico mensaje de ¿Quiere usted guardar antes de salir? y no que directamente se cierre el programa perdiendo todo...
Lo del mensaje se hacerlo, pero no se como utilizar el onCloseQuery. |
#16
|
||||
|
||||
El código que te expuse son un ejemplo de como se usa en OnCloseQuery.
Lo que tu necesitas hacer es una combinación del onCloseQuery y OnClose. Si lo que deseas es que el formulario se cierre independientemente si debe o no guardar los cambios deberás hacerlo empleando una variable pública o global que te permita decidir si debe guardar o no. CanClose Deberá ser True. De modo que que debes hacer algo por el estilo:
Espero haber sido más claro. Saludos, |
#17
|
||||
|
||||
Vale gracias, esta tarde si tengo tiempo lo pondré ;-)
|
#18
|
|||
|
|||
Cita:
Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
#19
|
||||
|
||||
Cita:
|
#20
|
|||
|
|||
Cita:
No me hagas caso, como te digo, amaneci muy susceptible. sea la paz. Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Mensaje - Evento... antes de perder el foco, es posible??? | ariefez | Varios | 11 | 13-07-2007 23:28:21 |
Mensaje Raro al Salir aplicacion | JULIOCTORRESG | Varios | 6 | 14-12-2006 22:06:30 |
Preguntar antes de salir de aplicacion | jorgesl | Varios | 6 | 19-04-2006 20:25:15 |
Salir de un While | alfredosg19 | Varios | 5 | 17-03-2005 02:09:07 |
COmo genero un mensaje antes de un Sysutils.Abort | Bitbanner | Conexión con bases de datos | 19 | 16-02-2005 17:41:58 |
|