Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Cancel = True End Sub 在Demo中加上这个也可以实现X失效的效果 家里好像有这个代码 我回去看看
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Cancel = True End Sub 只能让关闭失效,但是不能让红叉变灰失效,好象要调用API函数才行,谁能帮帮我.
现在人真实懒,就不知道用baidu搜一下 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 Declare Function DrawMenuBar Lib "User32" (ByVal hwnd As Long) As Long Private Declare Function GetMenuItemCount Lib "User32" (ByVal hMenu As Long) As Long Private Const MF_BYPOSITION = &H400& Private Const MF_DISABLED = &H2&Private Sub Form_Load() Call DisableX(Me) End SubPrivate Sub DisableX(Frm As Form) Dim hMenu As Long, nCount As Long hMenu = GetSystemMenu(Frm.hwnd, 0) nCount = GetMenuItemCount(hMenu) Call RemoveMenu(hMenu, nCount - 1, MF_DISABLED Or MF_BYPOSITION) DrawMenuBar Frm.hwnd End Sub
Cancel = True
End Sub
在Demo中加上这个也可以实现X失效的效果 家里好像有这个代码 我回去看看
Cancel = True
End Sub
只能让关闭失效,但是不能让红叉变灰失效,好象要调用API函数才行,谁能帮帮我.
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 Declare Function DrawMenuBar Lib "User32" (ByVal hwnd As Long) As Long
Private Declare Function GetMenuItemCount Lib "User32" (ByVal hMenu As Long) As Long
Private Const MF_BYPOSITION = &H400&
Private Const MF_DISABLED = &H2&Private Sub Form_Load()
Call DisableX(Me)
End SubPrivate Sub DisableX(Frm As Form)
Dim hMenu As Long, nCount As Long
hMenu = GetSystemMenu(Frm.hwnd, 0)
nCount = GetMenuItemCount(hMenu)
Call RemoveMenu(hMenu, nCount - 1, MF_DISABLED Or MF_BYPOSITION)
DrawMenuBar Frm.hwnd
End Sub