好,不知道你注意过没有MDI Form 和 form的属性有很大不同,里面没有MinBox、MaxBox
这就是我要解决的问题!

解决方案 »

  1.   

    '==去掉mdiform最大、最小化按钮函数申明===========
    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'======去掉系统菜单函数申明======
    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&Const WS_MAXIMIZEBOX = &H10000
    Const GWL_STYLE = (-16)
    '=======去掉窗体最大、最小化按钮=======
    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
      

  2.   

    lWnd = GetWindowLong(Me.hwnd, GWL_STYLE)返回0,没用
      

  3.   

    你下一个袁飞的API控件吧。里面有详细说明,我也是从那学到的。
    http://ygyuan.go.163.com不知你怎么用的,我这用的非常好,怎么没有,报什么错。还是没改了,说清楚 。
      

  4.   

    问题解决了,谢谢DTWUJP(建平)!