感谢您使用微软产品。您可以通过使用DeleteMenu函数来使得MDI窗体的Close按钮无效,使用SetWindowLong函数使得MDI窗体的最大化和最小化按钮无效,请参考以下代码:Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As LongPrivate Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Const WS_MINIMIZEBOX = &H20000
Const WS_MAXIMIZEBOX = &H10000
Const GWL_STYLE = (-16)
Const MF_BYCOMMAND = &H0&
Const MF_BYPOSITION = &H400&
Const SC_CLOSE = &HF060&
Private hMenu As LongPrivate Sub MDIForm_Load()
Dim lWnd As Long
hMenu = GetSystemMenu(Me.hwnd, 0)
Call DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND)lWnd = GetWindowLong(Me.hwnd, GWL_STYLE)
lWnd = lWnd And Not (WS_MINIMIZEBOX)‘禁用最大化按钮
'lWnd = lWnd And Not (WS_MAXIMIZEBOX)‘禁用最小化按钮
lWnd = SetWindowLong(Me.hwnd, GWL_STYLE, lWnd)
End Sub微软全球技术中心 VB技术支持
本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。