如何使窗体中的最大化,最小化,和关闭按钮失效!。在线等待!急

解决方案 »

  1.   

    窗体中的Contrlbox 的值true 改为false
      

  2.   

    '在属性框先将MaxButton跟MinButton设为falsePrivate 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 DrawMenuBar Lib "USER32" (ByVal hwnd As Long) As Long
    Private Const MF_BYPOSITION = &H400&
    Private Const MF_REMOVE = &H1000&
     
    Private Sub DisableX()
             Dim hMenu, nCount, LO     As Long
             hMenu = GetSystemMenu(Me.hwnd, 0)
             nCount = GetMenuItemCount(hMenu)
             LO = RemoveMenu(hMenu, nCount - 1, MF_REMOVE Or MF_BYPOSITION)
             LO = RemoveMenu(hMenu, nCount - 2, MF_REMOVE Or MF_BYPOSITION)
    End Sub
     
    Private Sub Form_Load()
    Call DisableX
    End Sub
      

  3.   

    tztz520
    Option ExplicitPrivate 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 LongPrivate Const MF_BYPOSITION = &H400&
    Private Const MF_REMOVE = &H1000&
     
    Private Sub DisableX()
        Dim hMenu, nCount, LO     As Long
        hMenu = GetSystemMenu(Me.hwnd, 0)
        LO = RemoveMenu(hMenu, 6, MF_REMOVE Or MF_BYPOSITION) '关闭
    '    LO = RemoveMenu(hMenu, 5, MF_REMOVE Or MF_BYPOSITION) '分割线
        LO = RemoveMenu(hMenu, 4, MF_REMOVE Or MF_BYPOSITION) '最大化
        LO = RemoveMenu(hMenu, 3, MF_REMOVE Or MF_BYPOSITION) '最小化'
    '    LO = RemoveMenu(hMenu, 2, MF_REMOVE Or MF_BYPOSITION) '大小
    '    LO = RemoveMenu(hMenu, 1, MF_REMOVE Or MF_BYPOSITION) '移动
    '    LO = RemoveMenu(hMenu, 0, MF_REMOVE Or MF_BYPOSITION) '还原
    End Sub
     
    Private Sub Form_Load()
        Call DisableX
    End Sub
      

  4.   

    正确的做法,不受自定一系统菜单的限制。
    Option ExplicitPrivate 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 LongPrivate Const MF_REMOVE = &H1000&
    Private Const MF_BYCOMMAND = &H0&
    Private Const SC_CLOSE = &HF060&
    Private Const SC_MAXIMIZE = &HF030&
    Private Const SC_MINIMIZE = &HF020&
    Private Const SC_MOVE = &HF010&
    Private Const SC_RESTORE = &HF120&
    Private Const SC_SIZE = &HF000&
     
    Private Sub Form_Load()
        Call DisableX
    End SubPrivate Sub DisableX()
        Dim hMenu, nCount, LO     As Long
        hMenu = GetSystemMenu(Me.hwnd, 0)
        LO = RemoveMenu(hMenu, SC_CLOSE, MF_REMOVE Or MF_BYCOMMAND)     '关闭
    '    LO = RemoveMenu(hMenu, ?, MF_REMOVE Or MF_BYCOMMAND)     '分割线
        LO = RemoveMenu(hMenu, SC_MAXIMIZE, MF_REMOVE Or MF_BYCOMMAND)  '最大化
        LO = RemoveMenu(hMenu, SC_MINIMIZE, MF_REMOVE Or MF_BYCOMMAND)  '最小化'
    '    LO = RemoveMenu(hMenu, SC_SIZE, MF_REMOVE Or MF_BYCOMMAND)  '大小
    '    LO = RemoveMenu(hMenu, SC_MOVE, MF_REMOVE Or MF_BYCOMMAND)  '移动
    '    LO = RemoveMenu(hMenu, SC_RESTORE, MF_REMOVE Or MF_BYCOMMAND)   '还原
    End Sub
      

  5.   

    不要行不?
    把MaxButton 、MinButton 设为False
      

  6.   

    我同意楼上的看法,设置form1的borderstyle属性 为0 是不是可以达到你要的效果啊