Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: obethermy en Febrero 15, 2017, 10:33:36 am
-
Fomulario hijo del mdi padre o formulario normal llamado Form1 sin opciones de control de ventana(maximixar,minimixar,cerrar) y un boton b_salir donde su contenido es:
Option Explicit
Private Sub Form_Load()
'Parametros en tiempo de diseño
'From1.Keypreview=True
'Form1.Controlbox=False
'Form1.MidiChild=Ttrue
End Sub
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 27 Then
Call salir
End If
End Sub
Private Sub salir()
Unload Form1
Set Form1 = Nothing
End Sub
Private Sub b_salir_Click()
Call salir
End Sub
Lo cuirioso es que si no no se crea un boton en el formulario con la llamada de salir no se cerrara.
-
Hola no me ocurre en mi caso, quizas vos removiste o deshabilitaste parte del sysMenu del formulario via api? yo hice tal como dijiste pero se cierra todo normal.
Saludos.
-
el boton esta oculto
es como mostrar un formulario con una ventana de mensaje o para ver una tabla al darle escape se sale
quitale el boton para ver si se cierra solo.
-
mmm... yo tampoco termino de entenderte.
Si en el formulario no pones ningún control, y si el borderstyle lo pones en el valor "none" (único manera (fácil), de retirar el botón"X" de cerrar), no tiene interfaz, para que el usuario pueda cerrarlo...
Esto es claro, pero el formulario se cerrará si lo reclamas por código, sea desde otro formulario de la aplicación, sea porque pones un timer, etc... se cerrará.
quita el botón y mete un timer, ponle el intervalo en (pòr ejemplo 5 segundos) 5000, y que quede activado... y en el evento del timer invoca salir:
Private Sub Timer1_Timer()
Call salir
End Sub
Ejecuta el proyecto y verás que tras abrirse la ventana y que pasen los 5 segundos, se cerrará.
En fin, si el usuario no dispone de interfaz para cerrar una ventana, obviamente no podrá cerrarla "desde la interfaz"... Pero no acabo de entender si es eso o alguna otra cosa lo que pretendes.
-
esa era la respuesta que le estaba dando a un amigo en el foro que sin declarar la salida del formulario a un boton aunque ejecutes escape como modo de salida .