如题。
难道要利用API不成?
还有怎么让子窗体最大化?

解决方案 »

  1.   

    .maxbutton=false
    .WindowState =2
      

  2.   

    '使用API函数,MDIForm是没有maxbutton,minbutton这两个属性的。'---------------------------------------------------------------
     
    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 RemoveMenu Lib "USER32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    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 WS_MINIMIZEBOX = &H20000
    Private Const WS_MAXIMIZEBOX = &H10000
    Private Const GWL_STYLE = (-16)
    Private Const MF_BYPOSITION = &H400&
    Private Const MF_REMOVE = &H1000&
     
     
    Private Sub MDIForm_Load()
    Dim lWnd   As Long
    DisableX
    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
     
     
    Private Sub DisableX()
                     Dim hMenu, nCount, LO             As Long
                     hMenu = GetSystemMenu(Me.hwnd, 0)
                     nCount = GetMenuItemCount(hMenu)
                     LO = RemoveMenu(hMenu, nCount - 3, MF_REMOVE Or MF_BYPOSITION)
                     LO = RemoveMenu(hMenu, nCount - 4, MF_REMOVE Or MF_BYPOSITION)
    End Sub
      

  3.   

    chendjin(谢谢,我要充电。)正解但是我不明白的是楼主为什么要让MDI主窗体的最大化和最小化按钮失效呢?要知道如果是一个系统而言,MDI窗体一般是主窗体,一个系统的主窗体怎么可以没有最大化和最小化按钮呢?个人建议。