VBA窗体最大化、最小化、调整大小

VBA窗体最大化、最小化、调整大小

Option Explicit 
        Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long 
        Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As
    String) As Long 
        Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal
    dwNewLong As Long) As Long 
        Private Const GWL_STYLE = (-16) 
        Private Const WS_THICKFRAME As Long = &H40000 ’(恢复大小) 
        Private Const WS_MINIMIZEBOX As Long = &H20000 ’(最小化) 
        Private Const WS_MAXIMIZEBOX As Long = &H10000 ’(最大化) 

窗体

  Private Sub UserForm_Initialize() 
          Dim hWndForm As Long 
          Dim IStyle As Long 
          hWndForm = FindWindow("ThunderDFrame", Me.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

猜你喜欢

转载自blog.csdn.net/weixin_43907480/article/details/85011394
今日推荐