AYUDA SIMPLE....

Franco
16 de Enero del 2004
COMO DEJAR EL BOTON QUERYUNLOAD (X) DE UN FORMULARIO DESAVILITADO PERO VISIBLE..... SI ALGUIEN ME PUEDE AYUDAR ESTARE AGRADESIDO!!

Bartolom
16 de Enero del 2004
Tienes dos formas de hacerlo:

La primera, el botón queda visible, habilitado, pero al presionarlo no ejecuta ninguna acción. el código sería:

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
If UnloadMode = 0 Then
Cancel = 1
End If
End Sub


La segunda, el botón queda deshabilitado:

Primero, declaras esta función en un módulo, poara poder llamarla desde cualquier formulario:

Public Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, ByVal bRevert As Long) As Long
Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Public Const MF_BYPOS = &H400&

Public Sub funcQuitarCerrar(ByVal prmhWnd As Long)
Dim varMenuTitulo As Long
varMenuTitulo = GetSystemMenu(prmhWnd, 0)
Call RemoveMenu(varMenuTitulo, 6, MF_BYPOS)
Call RemoveMenu(varMenuTitulo, 5, MF_BYPOS)
End Sub

y después, en el evento Load de un formulario, por ejemplo Formulario1, ejecutas lo siguiente:

funcQuitarCerrar Formulario1.hWnd


Saludos!

Baltasar
16 de Enero del 2004
Pues precisamente con el evento queryunload.
con CANCEL=0 o CANCEL=1 puedes decidir si realmente se cierra o no. Haz pruebas y verás.