把20分给我,答案如下:
Option Explicit
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
'如果你使用如下代码不能使你的程序达到预定目标,可能你将窗体的。controlbox 属性设为 False 了。Private Sub MDIForm_Load()
    
    Me.Top = 0
    Me.Left = 0
    Me.WindowState = 2
    Dim hMenu  As Long
    Dim ret As Long
    hMenu = GetSystemMenu(Me.hwnd, False)
    ret = DeleteMenu(hMenu, 6, &H400&) '关闭
    ret = DeleteMenu(hMenu, 5, &H400&) '横分割线
    ret = DeleteMenu(hMenu, 4, &H400&) '最大化
    ret = DeleteMenu(hMenu, 3, &H400&) '最小化
    ret = DeleteMenu(hMenu, 2, &H400&) '大小
    ret = DeleteMenu(hMenu, 1, &H400&) '移动
    ret = DeleteMenu(hMenu, 0, &H400&) '恢复
    Form1.Show
End Sub'注意,对于MDI窗体,虽然以上代码可以使窗体控制菜单功能失效,但如果您鼠标按压最大最小化按钮,程序还是会产生阻塞现象,定时器不工作。如果您找到更好的办法,记得告诉我。交个朋友,我做工控,QQ:5043160 

解决方案 »

  1.   

    把20分给我,答案如下:
    Option Explicit
    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
    '如果你使用如下代码不能使你的程序达到预定目标,可能你将窗体的。controlbox 属性设为 False 了。Private Sub MDIForm_Load()
        Me.Top = 0
        Me.Left = 0
        Me.WindowState = 2
        Dim hMenu  As Long
        Dim ret As Long
        hMenu = GetSystemMenu(Me.hwnd, False)
        ret = DeleteMenu(hMenu, 6, &H400&) '关闭
        ret = DeleteMenu(hMenu, 5, &H400&) '横分割线
        ret = DeleteMenu(hMenu, 4, &H400&) '最大化
        ret = DeleteMenu(hMenu, 3, &H400&) '最小化
        ret = DeleteMenu(hMenu, 2, &H400&) '大小
        ret = DeleteMenu(hMenu, 1, &H400&) '移动
        ret = DeleteMenu(hMenu, 0, &H400&) '恢复
    End Sub
      

  2.   

    我不知道你到底想怎么样
    把窗体弄成固定的
    然后把minbotton设成true
    有关闭有最小化最大化是黑的
    或者用api函数,需要的话[email protected],我有代码