将窗体的关闭按钮屏蔽掉,只留下最大化和最小化按钮,请问调用哪个API函数?谢了

解决方案 »

  1.   

    去掉窗体关闭按钮窗体:Private Sub Form_Load()
    '第一种方法
    Dim hwndMenu As Long
    Dim c As Long
    hwndMenu = GetSystemMenu(Me.hwnd, 0)c = GetMenuItemCount(hwndMenu)DeleteMenu hwndMenu, c - 1, MF_BYPOSITIONc = GetMenuItemCount(hwndMenu)
    DeleteMenu hwndMenu, c - 1, MF_BYPOSITION'第二种方法
    'Call DisableX(Me)
    End Sub
     '在窗体上建立一个command控件,以便退出
    Private Sub Command1_Click() 
    End
    End Sub
     模块:'第一种方法
    Declare Function GetSystemMenu Lib "User32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
    Declare Function DeleteMenu Lib "User32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    Declare Function GetMenuItemCount Lib "User32" (ByVal hMenu As Long) As Long
    Public Const MF_BYPOSITION = &H400&'第二种方法'Declare Function GetSystemMenu Lib "User32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
    Declare Function RemoveMenu Lib "User32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    Declare Function DrawMenuBar Lib "User32" (ByVal hwnd As Long) As Long
    'Declare Function GetMenuItemCount Lib "User32" (ByVal hMenu As Long) As Long
    'Public Const MF_BYPOSITION = &H400&
    Public Const MF_DISABLED = &H2&Public Sub DisableX(Frm As Form)
    Dim hMenu As Long, nCount As Long
    hMenu = GetSystemMenu(Frm.hwnd, 0)
    nCount = GetMenuItemCount(hMenu)
    Call RemoveMenu(hMenu, nCount - 1, MF_DISABLED Or MF_BYPOSITION)
    DrawMenuBar Frm.hwnd
    End Sub