VB中怎么让窗体右上角的关闭按钮灰化不可用
请说的详细点,最好贴上代码谢谢。

解决方案 »

  1.   

    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        Cancel = True
    End Sub
    在Demo中加上这个也可以实现X失效的效果 家里好像有这个代码 我回去看看
      

  2.   

    Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
        Cancel = True
    End Sub
    只能让关闭失效,但是不能让红叉变灰失效,好象要调用API函数才行,谁能帮帮我.
      

  3.   

    现在人真实懒,就不知道用baidu搜一下
    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 Declare Function DrawMenuBar Lib "User32" (ByVal hwnd As Long) As Long
    Private Declare Function GetMenuItemCount Lib "User32" (ByVal hMenu As Long) As Long
    Private Const MF_BYPOSITION = &H400&
    Private Const MF_DISABLED = &H2&Private Sub Form_Load()
    Call DisableX(Me)
    End SubPrivate 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