如何用vba隐藏最大化最小化窗口按钮
时间: 2023-05-09 18:02:51 浏览: 244
用VB屏蔽关闭、最大化、最小化按钮
3星 · 编辑精心推荐
在VBA编程中隐藏最大化和最小化窗口按钮,可以使用在表单的 Initialize 事件中使用以下代码:
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
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 Const MF_BYPOSITION = &H400&
Private Const MF_REMOVE = &H1000&
Private Sub UserForm_Initialize()
Dim hwnd As Long
Dim hMenu As Long
hwnd = FindWindow("ThunderDFrame", Me.Caption)
hMenu = GetSystemMenu(hwnd, False)
Call RemoveMenu(hMenu, 6, MF_BYPOSITION)
Call RemoveMenu(hMenu, 5, MF_BYPOSITION)
End Sub
解释下代码的具体含义:
1. FindWindow: 它在Windows中寻找具有指定的类名和窗口名的顶层窗口。
2. GetSystemMenu:获取窗口菜单句柄。例如,这能用来得到窗口的“控制”菜单,我们可以向其中加入一些自定义的菜单项。
3. RemoveMenu: 删除具有指定位置和标志的菜单项,该函数要求我们给它提供菜单句柄、要删除的位置以及标志。
菜单项位置可以通过Windows API文档来确定,但是,Windows不总是一致的,不同的操作系统版本也许就不同。
上述代码将最大化和最小化按钮在窗口的菜单中移除。有了这些代码,你可以在你自己的VBA项目中应用,也可以改写代码应用到Excel、Access 或者 PowerPoint 等其他 VBA项目中。
阅读全文