怎样使窗体的最大化按钮为灰色不可用,而最小化和关闭按钮可用?谢谢!

解决方案 »

  1.   

    Option Explicit
    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 Const MF_BYCOMMAND = &H0&
    Private Const SC_CLOSE = &HF060&Private Sub Form_Load()
        Dim MyMenu As Long
        MyMenu = GetSystemMenu(Me.hwnd, 0)  '得到系统菜单的句柄,Me.hwnd表示当前窗体的句柄
        RemoveMenu MyMenu, SC_CLOSE, MF_BYCOMMAND
    End Sub
      

  2.   

    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 Long
        Private Const SC_MAXIMIZE = &HF030
        Private Const MF_BYCOMMAND = &H0&
        Private Const WS_MAXIMIZEBOX = &H10000
        Private Const GWL_EXSTYLE = (-20)
        Private Const GWL_STYLE = (-16)
        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 Sub Form_Load()
    Dim hMenu As Long, Success As Long
            
            hMenu = GetSystemMenu(hwnd, 0)
            Success = DeleteMenu(hMenu, SC_MAXIMIZE, MF_BYCOMMAND)
            Dim xl As Long
            
            Me.Show
            xl = GetWindowLong(hwnd, GWL_STYLE)
            xl = xl And (Not WS_MAXIMIZEBOX)
            SetWindowLong hwnd, GWL_STYLE, xl
    End Sub
      

  3.   

    http://message.csdn.net/SendMessage.aspx?To=celia4526
    哪个属性是?
      

  4.   

    没有那么麻烦  form的属性maxbutton为false就可以了
      

  5.   

    不好意思,看错了,以为是让关闭按钮不可用呢
    让最大化按钮不可用,设置窗体的MaxButton属性为False就行了