Public Const SW_HIDE = 0 Public Const SW_SHOWNORMAL = 1Public Const SWP_HIDEWINDOW = &H80 Public Const SWP_SHOWWINDOW = &H40 Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wflags As Long) As Long Public Const MF_REMOVE = &H1000& Public Const SC_CLOSE = &HF060& Public Const SC_MINIMIZE = &HF020& Public Const SC_MAXIMIZE = &HF030& Public Const MF_BYPOSITION = &H400&Public Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long Public Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wflags As Long) As Long Public Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long Public Declare Function setwindowpos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hwndinsertafter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wflags As Long) As LongPublic Sub Disabled(L_form As String) Dim hMenu As Long hMenu = GetSystemMenu(L_form, 0) RemoveMenu hMenu, SC_CLOSE, MF_REMOVE RemoveMenu hMenu, SC_MINIMIZE, MF_REMOVE RemoveMenu hMenu, SC_MAXIMIZE, MF_REMOVE End Sub Public Sub Disabled_alt(L_form As String) Dim hwndMenu As Long Dim c As Long hwndMenu = GetSystemMenu(L_form, 0) c = GetMenuItemCount(hwndMenu) DeleteMenu hwndMenu, c - 1, MF_BYPOSITION c = GetMenuItemCount(hwndMenu) DeleteMenu hwndMenu, c - 1, MF_BYPOSITIONEnd SubPrivate Sub form_activate() Disabled (form1.hwnd) Disabled_alt (form1.hwnd) end sub
Public Const SW_HIDE = 0
Public Const SW_SHOWNORMAL = 1Public Const SWP_HIDEWINDOW = &H80
Public Const SWP_SHOWWINDOW = &H40
Public Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wflags As Long) As Long
Public Const MF_REMOVE = &H1000&
Public Const SC_CLOSE = &HF060&
Public Const SC_MINIMIZE = &HF020&
Public Const SC_MAXIMIZE = &HF030&
Public Const MF_BYPOSITION = &H400&Public Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Public Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wflags As Long) As Long
Public Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
Public Declare Function setwindowpos Lib "user32" Alias "SetWindowPos" (ByVal hwnd As Long, ByVal hwndinsertafter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wflags As Long) As LongPublic Sub Disabled(L_form As String)
Dim hMenu As Long
hMenu = GetSystemMenu(L_form, 0)
RemoveMenu hMenu, SC_CLOSE, MF_REMOVE
RemoveMenu hMenu, SC_MINIMIZE, MF_REMOVE
RemoveMenu hMenu, SC_MAXIMIZE, MF_REMOVE
End Sub
Public Sub Disabled_alt(L_form As String)
Dim hwndMenu As Long
Dim c As Long
hwndMenu = GetSystemMenu(L_form, 0)
c = GetMenuItemCount(hwndMenu)
DeleteMenu hwndMenu, c - 1, MF_BYPOSITION
c = GetMenuItemCount(hwndMenu)
DeleteMenu hwndMenu, c - 1, MF_BYPOSITIONEnd SubPrivate Sub form_activate()
Disabled (form1.hwnd)
Disabled_alt (form1.hwnd)
end sub
比如如果是点其他按钮退出Cancel = false,是点关闭按钮Cancel = True,这样可以达到你的目的