CrAzY hOuSe
Locos por la programación
Desactivar el botón de cerrar Formulario
.net

Syndication

Como poner en disabled el botón de cerrar formulario (el aspa, el botoncito con una X, que se encuentra en la esquina superior derecha).

En un módulo (.BAS) ponemos:

Option Explicit
Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, _
             ByVal wFlags As Long) As Long
Private Const MF_BYPOSITION = &H400&
Private Const MF_REMOVE = &H1000&

Public Sub RemoveCancelMenuItem(frm As Form)
    Dim hSysMenu As Long
    hSysMenu = GetSystemMenu(frm.hwnd, 0)
    ' Elimina del menú el último elemento (Cerrar)
    Call RemoveMenu(hSysMenu, 6, MF_BYPOSITION Or MF_REMOVE)
    ' Elimina el penultimo elemento (Separador)
    Call RemoveMenu(hSysMenu, 5, MF_BYPOSITION Or MF_REMOVE)
End Sub

Y en el form en cuestión:

Private Sub Form_Load()
    RemoveCancelMenuItem Me
End Sub

Si quieres desactivar las funciones de Maximizar y Minimizar, puedes usar el evento Resize del formulario para intervenir las indicaciones del usuario. Puedes hacer algo parecido a...

Private Sub Form_Resize()
    If Me.WindowState = vbMaximized Or Me.WindowState = vbMinimized Then
        Me.WindowState = vbNormal
    End If
End Sub

Posted jue, sep 9 1999 20:42 by Maverick
Filed under: ,

Add a Comment

(optional)  
(optional)
(required)  
Remember Me?
MavericK
Powered by Community Server (Non-Commercial Edition), by Telligent Systems