📄 frmmain.frm
字号:
VERSION 5.00
Object = "{F9043C88-F6F2-101A-A3C9-08002B2F49FB}#1.2#0"; "COMDLG32.OCX"
Begin VB.Form frmMain
BorderStyle = 1 'Fixed Single
Caption = "在系统托盘中增加图标"
ClientHeight = 1755
ClientLeft = 2145
ClientTop = 1920
ClientWidth = 4200
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
PaletteMode = 1 'UseZOrder
ScaleHeight = 1755
ScaleWidth = 4200
Begin MSComDlg.CommonDialog dlgOpen
Left = 960
Top = 960
_ExtentX = 847
_ExtentY = 847
_Version = 393216
End
Begin VB.Image imgIcon
Height = 495
Left = 2160
Top = 480
Width = 495
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "当前托盘中的图标:"
Height = 180
Left = 360
TabIndex = 0
Top = 600
Width = 1620
End
Begin VB.Menu mnuTray
Caption = "系统托盘(&T)"
Begin VB.Menu mnuTrayShow
Caption = "显示主窗体(&S)"
Shortcut = ^S
End
Begin VB.Menu mnuTrayHide
Caption = "隐藏主窗体(&H)"
Shortcut = ^H
End
Begin VB.Menu mnuTrayBar0
Caption = "-"
End
Begin VB.Menu mnuTrayIcon
Caption = "改变图标(&I)..."
Shortcut = {F3}
End
Begin VB.Menu mnuTrayTip
Caption = "改变提示(&T)..."
Shortcut = {F4}
End
Begin VB.Menu mnuTrayBar1
Caption = "-"
End
Begin VB.Menu mnuTrayExit
Caption = "退出(&X)"
Shortcut = ^X
End
End
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Sub Form_Load()
'初始化imgIcon控件的Picture属性
imgIcon.Picture = LoadPicture(App.Path & "\" & "heart.ico")
mnuTrayShow.Enabled = False
'初始化NOTIFYICONDATA数据结构
Dim nid As NOTIFYICONDATA
nid.cbSize = Len(nid)
nid.hwnd = frmTemp.hwnd
nid.uId = 1&
nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE
nid.uCallbackMessage = WM_NOTIFYICON
nid.hicon = imgIcon.Picture
nid.szTip = "系统托盘中的图标" & Chr(0)
'调用Shell_NotifyIcon函数将图标加入到系统托盘中
Shell_NotifyIcon NIM_ADD, nid
End Sub
Private Sub Form_Unload(Cancel As Integer)
'设置自定义类型的变量的内容
Dim nid As NOTIFYICONDATA
nid.cbSize = Len(nid)
nid.hwnd = frmTemp.hwnd
nid.uId = 1&
nid.uFlags = 0
'调用Shell_NotifyIcon方法来删除系统托盘中的图标
Shell_NotifyIcon NIM_DELETE, nid
Unload frmTemp
End Sub
Private Sub mnuTrayExit_Click()
Unload Me
End Sub
Private Sub mnuTrayHide_Click()
'隐藏窗体,并相应改变菜单项的状态
Me.Hide
mnuTrayHide.Enabled = False
mnuTrayShow.Enabled = True
End Sub
Private Sub mnuTrayIcon_Click()
'设置dlgOpen公用对话框的属性,以便取得相应的图标文件
dlgOpen.Filter = "图标文件(*.ico)|*.ico"
dlgOpen.Flags = cdlOFNFileMustExist
dlgOpen.ShowOpen
If dlgOpen.FileName = "" Then Exit Sub
'根据所取得图标文件,来改变imgIcon文件的属性
imgIcon.Picture = LoadPicture(dlgOpen.FileName)
'设置NOTIFYICONDATA数据结构
Dim nid As NOTIFYICONDATA
nid.cbSize = Len(nid)
nid.hwnd = frmTemp.hwnd
nid.uId = 1&
nid.uFlags = NIF_ICON
nid.hicon = imgIcon.Picture
'调用Shell_NotifyIcon函数来修改系统托盘中的图标
Shell_NotifyIcon NIM_MODIFY, nid
End Sub
Private Sub mnuTrayShow_Click()
'显示窗体,并相应改变菜单项的状态
Me.Show
mnuTrayHide.Enabled = True
mnuTrayShow.Enabled = False
End Sub
Private Sub mnuTrayTip_Click()
Dim str As String
str = InputBox("输入系统托盘中的图标的提示信息:", "提示信息")
If str = "" Then Exit Sub
'设置NOTIFYICONDATA数据结构
Dim nid As NOTIFYICONDATA
nid.cbSize = Len(nid)
nid.hwnd = frmTemp.hwnd
nid.uId = 1&
nid.uFlags = NIF_TIP
nid.szTip = str & Chr(0)
'调用Shell_NotifyIcon函数来修改系统托盘中的图标的提示
Shell_NotifyIcon NIM_MODIFY, nid
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -