vb中怎样设置一个窗口标题栏只的最小化按钮?谢谢

解决方案 »

  1.   

    maxbutton=false ,最大化就无效了,但如果你要他消失,可能不得行,变通的方法是取消windows的标题栏,自己摆两按钮上去。
      

  2.   

    如楼上的所说,将窗体的maxbutton属性置为false,最大化就无效了,但如果你要他不显示的话,就用第三方的自定义窗体控件。
      

  3.   

    '屏蔽关闭和最大化按钮,只保留最小化按钮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 Declare Function GetWindowLong Lib "USER32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex 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 Const GWL_STYLE = (-16)
    Private Const WS_MAXIMIZEBOX = &H10000
    'Private Const WS_MINIMIZEBOX = &H20000Private Sub Form_Load()
        Dim MyMenu As Long
        MyMenu = GetSystemMenu(Me.hwnd, 0)  '得到系统菜单的句柄,Me.hwnd表示当前窗体的句柄
        RemoveMenu MyMenu, SC_CLOSE, MF_BYCOMMAND  '屏蔽关闭按钮
        
         '下面代码屏蔽最大化按钮
        Dim mdiWnd As Long
        mdiWnd = GetWindowLong(Me.hwnd, GWL_STYLE)    mdiWnd = mdiWnd And Not (WS_MAXIMIZEBOX)    mdiWnd = SetWindowLong(Me.hwnd, GWL_STYLE, mdiWnd)
    End Sub
      

  4.   

    谢谢 foreverstar2004(@风一样的城市风一样的男孩@) 
    还请推荐一个控件行吗?
      

  5.   

    非常感谢 faysky2() 你的代码能使最大化和关闭按钮无效,但还是显示在标题栏上得,请问怎样去掉它
    谢谢
      

  6.   

    请问先设Form1.BorderStyle为"0-none",去掉标题栏,然后想办法添加一个最小化按钮行不?
    我笨不晓得行不行,怎样实现?谢谢各位
      

  7.   

    faysky2() 正确。用API来移除按钮。其实就是从窗体的菜单中删除相应的菜单而已。