给VBA窗体增加最大化、最小化窗体按钮

给VBA窗体增加最大化、最小化窗体按钮


VBA窗体默认只有一个关闭按钮,没有最大化和最小化按钮,下面的代码可以方便的为窗体增加最大、最小化按钮,让窗口使用更方便。

调用方法

窗体最大最小化 Me
窗体最大化 Me

函数代码

'窗体的最大最小化
Public Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Public Const GWL_STYLE = (-16)
Public Const WS_MAXIMIZEBOX = &H10000
Public Const WS_MINIMIZEBOX = &H20000
Public Const WS_THICKFRAME = &H40000
Public Const SW_MAXIMIZE = 3
Public Const SW_MINIMIZE = 6
Public Const SW_NORMAL = 1

'设置屏幕,0=X,1=Y
Public Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long

Public Sub 窗体最大最小化(窗体 As Object)
   Dim hWndForm As Long, MyType As String
   Dim iStyle As Long
   hWndForm = FindWindow("ThunderDFrame", 窗体.Caption) '取得窗口句柄
   iStyle = GetWindowLong(hWndForm, GWL_STYLE)          '取得窗口样式
   iStyle = iStyle Or WS_THICKFRAME                     '重新设置窗口样式
   iStyle = iStyle Or WS_MINIMIZEBOX                    '添加最小化按钮
   iStyle = iStyle Or WS_MAXIMIZEBOX                    '添加最大化按钮
   SetWindowLong hWndForm, GWL_STYLE, iStyle            '应用样式
End Sub

Public Sub 窗体最大化(窗体 As Object)
   Dim hWndForm As Long, MyType As String
   Dim iStyle As Long
   hWndForm = FindWindow("ThunderDFrame", 窗体.Caption) '取得窗口句柄
   iStyle = GetWindowLong(hWndForm, GWL_STYLE)          '取得窗口样式
   iStyle = iStyle Or WS_THICKFRAME                     '重新设置窗口样式
   'iStyle = iStyle Or WS_MINIMIZEBOX                    '添加最小化按钮
   iStyle = iStyle Or WS_MAXIMIZEBOX                    '添加最大化按钮
   SetWindowLong hWndForm, GWL_STYLE, iStyle            '应用样式
End Sub

窗体例子

在这里插入图片描述
——专注办公软件的二次开发及培训,你有问题,我有思路!
——微博、微信、CSDN同号:w_dexu
——转载请注明出处!

微信二维码扫码加微信

猜你喜欢

转载自blog.csdn.net/w_dexu/article/details/107324740
今日推荐