vba在用户窗体标题栏添加最大最小化按纽
2016年8月11日
作者: 来源:
VBA中的窗体标题栏上只有关闭按纽,没有最大最小化按纽的,可以使用API函数在窗体的标题栏上添加最大最小化按纽,如下面的代码所示。 #001 Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long #002 Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long #003 Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long #004 Private Const WS_MAXIMIZEBOX = &H10000 #005 Private Const WS_MINIMIZEBOX = &H20000 #006 Private Const GWL_STYLE = (-16) #007 Private Sub UserForm_Initialize() #008 Dim hWndForm As Long #009 Dim iStyle As Long #010 hWndForm = FindWindow("ThunderDFrame", Me.Caption) #011 iStyle = GetWindowLong(hWndForm, GWL_STYLE) #012 iStyle = iStyle Or WS_MINIMIZEBOX #013 iStyle = iStyle Or WS_MAXIMIZEBOX #014 SetWindowLong hWndForm, GWL_STYLE, iStyle #015 End Sub 代码解析: 窗体初始化时使用API函数在标题栏上添加最大最小化按纽。 第1行到第6行代码,API函数声明。 第10行代码,获取窗口句柄。 第11行到第14行代码,在标题栏上添加最大最小化按纽。
阅读:2361
上一则:vba如何在用户窗体标题栏中添加图标
下一则:vba禁用窗体标题栏的关闭按钮
|