我把MDI窗体上面的最小,最大,关闭按钮取消,在窗体标题栏上双击左键还是会最大化,在标题栏上单击右键会弹出快捷菜单。怎么屏蔽?

解决方案 »

  1.   

    子类化窗体就行, 关键是找到双击标题的信息号是多少! 试试到msdn上查
      

  2.   

    帮你查了一上,消息号应该是 
    双击:163
    右击down:164
    右击up: 165你试试用子类化,捕获这些消息,然后屏蔽掉
      

  3.   

    另外一种实现方法应该更简单,你把窗体的borderstyle 属性设置为1 
    然后把controlbox属性设置为false
    即可
      

  4.   

    Private Declare Function DeleteMenu Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
    Private Declare Function GetMenuItemCount Lib "user32" (ByVal hMenu As Long) As Long
    Private Const MF_BYPOSITION = &H400&
    Private Declare Function GetSystemMenu Lib "user32" (ByVal hwnd As Long, ByVal bRevert As Long) As LongPrivate Sub Form_Load()
    Dim hwndMenu As Long
    Dim c As Long
    hwndMenu = GetSystemMenu(Me.hwnd, 0)
    c = GetMenuItemCount(hwndMenu)
    DeleteMenu hwndMenu, c - 3, MF_BYPOSITION
    End Sub
    这样可以把最大化菜单屏蔽,同时双击也不能最大化了。
    c代表第几个菜单,如果把c-3改为c-1,则关闭菜单屏蔽。