vb编程乐园吧 关注:33贴子:329
  • 0回复贴,共1

去掉关闭按钮的两种方法

只看楼主收藏回复

'窗体代码
Option Explicit

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_BYPOSITION
    
    c = GetMenuItemCount(hwndMenu)
    DeleteMenu hwndMenu, c - 1, MF_BYPOSITION
    
'第二种方法
    'Call DisableX(Me)
End Sub

Private Sub Command1_Click()
    End
End Sub
'模块代码
Option Explicit
'第一种方法
Declare Fun(百度傻)ction GetSystemMenu Lib "User32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Declare Fun(百度傻)ction DeleteMenu Lib "User32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Declare Fun(百度傻)ction GetMenuItemCount Lib "User32" (ByVal hMenu As Long) As Long
Public Const MF_BYPOSITION = &H400&

'第二种方法
'Declare Fun(百度傻)ction GetSystemMenu Lib "User32" (ByVal hwnd As Long, ByVal bRevert As Long) As Long
Declare Fun(百度傻)ction RemoveMenu Lib "User32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long) As Long
Declare Fun(百度傻)ction DrawMenuBar Lib "User32" (ByVal hwnd As Long) As Long
'Declare Fun(百度傻)ction 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



1楼2008-11-19 20:03回复