vba如何在用户窗体标题栏中添加图标
2016年8月11日
作者: 来源:
窗体在显示时标题栏上是没有图标的,如果希望在窗体上添加图标,可以借助API函数在窗体显示时添加自定义的图标。 在VBE窗口中单击菜单“插入”→“用户窗体”,插入一个窗体,在窗体中添加一个Image控件,设置Image控件Picture属性为自定义图标的位图,并将Image控件的Visible属性设置为False,使窗体运行时隐藏Image控件。 在VBE中双击窗体,写入下面的代码。 #001 Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long #002 Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long #003 Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long #004 Private Const WM_SETICON = &H80 #005 Private Const ICON_SMALL = 0& #006 Private Const ICON_BIG = 1& #007 Sub ChangeIcon(ByVal hWnd As Long, Optional ByVal hicon As Long = 0&) #008 SendMessage hWnd, WM_SETICON, ICON_SMALL, ByVal hicon #009 SendMessage hWnd, WM_SETICON, ICON_BIG, ByVal hicon #010 DrawMenuBar hWnd #011 End Sub #012 Private Sub UserForm_Initialize() #013 Dim hWnd As Long #014 hWnd = FindWindow(vbNullString, Me.Caption) #015 Call ChangeIcon(hWnd, Image1.Picture.Handle) #016 End Sub 代码解析: 窗体的初始化事件,窗体在显示时运行ChangeIcon函数,在标题栏中添加图标。 第1行到第6行代码, API函数声明。 第7行到第11行代码,ChangeIcon过程,用于转换图标。 第14行代码,获得窗口句柄。 第15行代码,运行ChangeIcon过程,将Image控件中的位图显示在窗体的标题栏上。 运行窗体后,在窗体标题栏上添加图标。
阅读:2845
上一则:TreeView控件的应用
下一则:vba在用户窗体标题栏添加最大最小化按纽
|