Excel中将UserForm中的关闭按钮无效的方法

4 篇文章 0 订阅

一、定义常量,声明方法

Public Const SC_CLOSE = &HF060&
Public Const MF_BYCOMMAND = &H0&

'(×按钮无效化用)クラスからウィンドウハンドルを取得
Declare Function FindWindow Lib "user32" _
  Alias "FindWindowA" _
    (ByVal lpClassName As String, _
     ByVal lpWindowName As String) As Long
    
'(×ボタン無効化用)ウィンドウに関する情報を取得
Declare Function GetSystemMenu Lib "user32" _
    (ByVal hwnd As Long, _
     ByVal bRevert As Long) As Long
  
'(×ボタン無効化用)メニューから項目を削除
Declare Function DeleteMenu Lib "user32" _
    (ByVal hMenu As Long, _
     ByVal nPosition As Long, _
     ByVal wFlags As Long) As Long

'(×ボタン無効化用)ウィンドウのメニューバー外枠を再描画
Declare Function DrawMenuBar Lib "user32" _
    (ByVal hwnd As Long) As Long

二、x按钮无效化

‘表单初期化方法中
Private Sub UserForm_Initialize()

    Dim hwnd As Long
    Dim hMenu As Long
    Dim rc As Long
    Dim strClassName As String  'クラス名
   
    'ユーザーフォームのクラス名を指定
    strClassName = "ThunderDFrame"
   
    'ウィンドウのハンドルを取得
    hwnd = FindWindow(strClassName, Me.Caption)
   
    'ウィンドウに関する情報を取得
    hMenu = GetSystemMenu(hwnd, 0&)
   
    '[x]ボタンを無効(Gray化)
    rc = DeleteMenu(hMenu, SC_CLOSE, MF_BYCOMMAND)
   
    'ウィンドウのメニューバーを再描画
    rc = DrawMenuBar(hwnd)
End Sub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值