Programación General > Visual Basic 6.0 e inferiores

 Deshabilitar El Cierre De Un Mdichild

(1/2) > >>

pacegar:
Me gustaría poder deshabilitar la "X" de un formulario padre de mi aplicacion, para que, por error, no se pueda cerrar al pulsarla... o por lo menos mostrar un mensaje de que si se desea cerrar realmente.

Gracias de antemano...
 :blink:

Brroz:
Hola pacegar.

Esta es una pregunta recurrente...

Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
       If UnloadMode = 0 Then
                   If vbCancel = MsgBox( "¿Desea realmente salir?",vbOkCancel,"Salir") = vbCancel Then Cancel = 1
       End If
End Sub

Suerte.

pacegar:
No logro que me funcione...

Al pulsar sobre la "X" cierto que entra en MDIForm_QueryUnload pero luego me salta a MDIForm_Unload y me cierra la aplicacion, sin tener en cuenta lo que haya contestado antes en la pregunta de salir si o no...

Brroz:
Fíjate en el valor de UnloadMode, indica el motivo de descarga del formulario:

0 - El usuario a pulsado en la X.
1 - El formulario se ha descargado por código (Unload Objeto).
2 - Windows se está cerrando.
3 - Se cerró desde el administrador de tareas.
4 - El form MDI Child se cierra porque su 'padre' se cierra.
5 - Un form se cierra porque su formulario propietario se cierra.

Cuando detectes que UnloadMode = 0 (es igual a cero), entonces das al parámetro Cancel que se pasa por referencia el valor 1, cancelando la operación de descarga.

Te aseguro que esto funciona así en cualquier plataforma o versión de windows que utilices.

De todas formas me acabo de fijar en un gazapo en el código que te escribí, seguro que no funciona por esto:

Don dije...
If vbCancel = MsgBox( "¿Desea realmente salir?",vbOkCancel,"Salir") = vbCancel  Then

Debería decir...
If MsgBox( "¿Desea realmente salir?",vbOkCancel,"Salir") = vbCancel Then

Pero hoooombre...hay que se fijar maaaaás.

Chao.

pacegar:
Ok, si de ese "gazapo" ya me habia percatado...

Lo he vuelto a probar y ya me funciona... No entiendo pq antes no funcionaba.
Gracias!

 :kicking:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa