当前位置:首页 > Excel VBA教程 > 给窗体加上最大化与最小化按钮

给窗体加上最大化与最小化按钮

来源:Excel中文网 作者:Excelcn 发布时间:2006-04-25

原文:http://blog.3326.com/user1/10247/archives/2006/46085.html

利用API,给窗体加上加大化与最小化按钮:

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

| 网站地图 All Rights Reserved. Powered by Excel中文网