当前位置:编程学习 > VB >>

禁止x按钮及关闭菜单

 

 

Option Explicit

 

Private Declare Function GetSystemMenu Lib "user32"_

(ByVal hwnd As Long, ByVal bRevert As Long) As Long

 

Private Declare Function GetMenuItemCount Lib "user32"_

(ByVal hMenu 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 Const MF_BYPOSITION = &H400&

 

Private Const MF_REMOVE = &H1000&

 

Private Sub DisableX()

   Dim hMenu As Long

   Dim nCount As Long

   hMenu = GetSystemMenu(Me.hWnd, 0)

   nCount = GetMenuItemCount(hMenu)

   Get rid of the Close menu and its separator

   Call RemoveMenu(hMenu, nCount - 1, MF_REMOVE Or MF_BYPOSITION)

   Call RemoveMenu(hMenu, nCount - 2, MF_REMOVE Or MF_BYPOSITION)

   Make sure the screen updates

   our change   DrawMenuBar Me.hWnd

End Sub

 

Private Sub Form_Load()

   DisableX

End Sub

 

Private Sub Form_Click()

We need a way out, since the X buttondoesnt work :-)

   Unload Me

End Sub 

 

补充:软件开发 , Vb ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,