Quitar botones de cerrar en un formulario

¿Hay alguna forma de quitar de los formularios las por de cerrar formulario, sin eliminar el borde para poder meter el Caption del formulario?. El motivo de querer quiarlo es porque quiero controlar el que salgan de la aplicación por medio del botón que yo le agregue y no por el de la dichosa POR, porque sino el usuario me lo cierra de la por por costumbre y me deja colgado el programa si trabajas con varios formularios a la vez.
No he encontrado la forma de hacerlo, por lo que he llegado a la conclusión de que no se puede, por eso solicito la ayuda de un experto como tu.
Espero que me puedas echar una mano y gracias anticipadas aunque sea solo por leer la pregunta...

2 Respuestas

Respuesta
1
Disculpa la demora, es que me he tomado unas pequeñas vacaciones, si no has resuelto tu problema te digo que en el evento QueryUnload del formulario puedes poner:
Cancel = True
Con eso no te pueden cerrar el formulario por más que hagan click en el botón con cruz.
Respuesta
1
No se puede sacar la POR, pero si puedes anular su acción.
Hay dos formas. Pero para eso primero una breve explicación de lo que pasa cuando presionas en ese cuadradito.
Ni bien soltar el mouse, se produce el evento QUERRYUNLOAD y luego el UNLOAD
Como producto de ello, todo el código que esta ahí se ejecuta.
Ahora bien. Si miras bien esos procecdimientos veras que pasa como parámetro la variable CANCEL. Esta variable es del sistema y tiene un valor = 0.
Si dentro de esos procedimientos le cambias el valor a 1 o cualquiera distinto de 0, entonces no se ejecuta el cierre del foormulario. Es decir, que no se descarga y por ende no se cierra.
Pero esto es peligroso, ya que cuando quieras cerrar la aplicación inevitablemente se provocan estos eventos y si colocas la variable CANCEL a 1 no se cerrara la aplicación.
Que hacer entonces.
TODO, pero todo el código que tienes para que descargue bien el programa en el evento SALIR de tu aplicación, lo colocas en el UNLOAD del Formulario (o en el QuerryUnload), y en el Evento SALIR solo escribes:
Unload Me
Esto provoca la descarga del formulario de memoria (para nuestros fines, se cierra) pero como se ejecuta el UNLOAD y ahí tienes código, entonces primero se ejecuta todo eso y luego desaparece !
Espero que haya sido explicito en la cuestión y que te sirva.
Pregunta: ¿no estaras finalizando el programa con la instruccion END?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas