把下面这段代码加到你的MDI窗体里可以让它的最大化按钮不可用。
Private 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
Private Const GWL_STYLE = (-16)
Private Const WS_MAXIMIZEBOX = &H10000Private Sub MDIForm_Load()
    Dim lngStyle As Long
    
    lngStyle = GetWindowLong(Me.hwnd, GWL_STYLE)
    SetWindowLong Me.hwnd, GWL_STYLE, lngStyle Xor WS_MAXIMIZEBOX
End Sub

解决方案 »

  1.   

    '==去掉mdisysrm最大、最小化按钮函数申明===========
    Private 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)
    '======去掉系统菜单函数申明===========
    Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
    Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
    Private Declare Function DrawMenuBar Lib "user32" (ByVal hwnd As Long) As Long
    Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    Const MF_BYPOSITION = &H400&
    Const MF_REMOVE = &H1000&Private Sub MDIForm_Load()
    '=======去掉窗体最大、最小化按钮=======
    Dim lWnd As Long
    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)
    '===去掉系统菜单========
    Dim hSysMenu As Long, nCnt As Long, i As Integer
        hSysMenu = GetSystemMenu(Me.hwnd, False)
        If hSysMenu Then
            nCnt = GetMenuItemCount(hSysMenu)
            For i = 1 To 6
            If nCnt Then
                RemoveMenu hSysMenu, nCnt - i - 1, MF_BYPOSITION Or MF_REMOVE
                DrawMenuBar Me.hwnd
            End If
            Next i
        End If
    试一试这个,只剩下关闭按钮了。