TMlTrayIcon
托盘图标组件,在 Windows 任务栏通知区域显示图标,支持右键菜单、气泡通知和最小化到托盘。
用法要点
Icon指定显示的图标,IconVisible控制是否显示。PopupMenu挂右键菜单;LeftPopup打开后左键也能弹出菜单。MinimizeToTray打开后,窗体最小化时自动收进托盘并触发OnMinimizeToTray。- 要做闪烁提示(如有新消息),用
IconList放多个图标,打开CycleIcons按CycleInterval轮换。 - 气泡通知的显示、隐藏、超时和点击分别有对应的事件,可用来处理用户点击通知后的动作。
示例
摘自 Demo:MlSkin.MainDemo.v3.0(窗体文件 .dfm)
object mltrycn1: TMlTrayIcon
CycleInterval = 0
Icon.Data = {
000001000900303010000100040068060000960000002020100001000400E802
0000FE060000101010000100040028010000E60900003030000001000800A80E
00000E0B00002020000001000800A8080000B619000010100000010008006805
00005E2200003030000001002000A8250000C62700002020000001002000A810
00006E4D0000101000000100200068040000165E000028000000300000006000
0000010004000000000080040000000000000000000000000000000000000000
000000008000008000000080800080000000800080008080000080808000C0C0
C0000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF0000FF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFF0000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000FF
FFFFFFFF78F8FFFFFFFFFFFFFFFFF8F88FFFFFFFFF0000FFFFFFFFFF77F7FFFF
FFFFFFFFFFFFF7F7F7FFFFFFFF0000FFFFFFFFF7F7F7FFFFFFFFFFFFFFFFF7F7
F7FFFFFFFF0000FFFFFFFFF787F7FFFFFFFFFFFFFFFFF887888FFFFFFF0000FF
FFFFFF887F88FFF8FF87878FFFFFFF788F7FFFFFFF0000FFFFFFFF7F7F7FFFF7
7788F887777FFF887F78FFFFFF0000FFFFFFF87F7F7FFF87FFFFFFFFF878FFF7
78F7FFFFFF0000FFFFFFF7F8888FFF7FFFFFFFFFFFF7FFF788F8FFFFFF0000FF
属性 16
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
About | TMlAboutInfo | — | 设计期属性。在对象检查器里双击会弹出 MlSkin 的关于窗口,显示组件版本信息;运行时没有作用,也不会保存到 dfm。 |
DesignPreview | Boolean | False | 设计期预览。打开后在 IDE 里也能看到托盘图标效果。 |
IconList | TCustomImageList | — | 图标列表,用于图标轮换(闪烁提示)。 |
IconList | TImageList | — | 图标列表,用于图标轮换(闪烁提示)。 |
CycleIcons | Boolean | False | 是否轮换显示 IconList 里的图标,用来做闪烁提示。 |
CycleInterval | Cardinal | — | 图标轮换的间隔(毫秒)。 |
Enabled | Boolean | True | 是否可用。关掉后控件变灰且不响应操作。 |
Hint | THintString | — | 鼠标停留时显示的提示文字。 |
ShowHint | Boolean | True | 鼠标停在托盘图标上时是否显示提示文字。 |
Icon | TIcon | — | 托盘上显示的图标。 |
IconVisible | Boolean | False | 托盘图标是否显示。 |
IconIndex | Integer | — | 当前显示的是 IconList 中的第几个图标。 |
PopupMenu | TPopupMenu | — | 右键点击托盘图标时弹出的菜单。 |
LeftPopup | Boolean | False | 左键点击是否也弹出菜单。 |
WantEnterExitEvents | Boolean | False | 是否接收鼠标移入、移出托盘图标的事件。 |
MinimizeToTray | Boolean | False | 窗体最小化时是否自动收进托盘(窗体从任务栏消失)。 |
事件 14
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
OnClick | TNotifyEvent | — | 点击时触发。 |
OnDblClick | TNotifyEvent | — | 双击托盘图标时触发,常用来显示或隐藏主窗体。 |
OnMouseDown | TMouseEvent | — | 鼠标按下时触发。 |
OnMouseUp | TMouseEvent | — | 鼠标松开时触发。 |
OnMouseMove | TMouseMoveEvent | — | 鼠标在控件上移动时触发。 |
OnMouseEnter | TNotifyEvent | — | 鼠标移入控件时触发。 |
OnMouseExit | TNotifyEvent | — | 鼠标移出托盘图标时触发(需打开 WantEnterExitEvents)。 |
OnCycle | TCycleEvent | — | 图标轮换到下一个时触发。 |
OnBalloonHintShow | TNotifyEvent | — | 气泡通知弹出时触发。 |
OnBalloonHintHide | TNotifyEvent | — | 气泡通知隐藏时触发。 |
OnBalloonHintTimeout | TNotifyEvent | — | 气泡通知显示超时自动关闭时触发。 |
OnBalloonHintClick | TNotifyEvent | — | 点击气泡通知时触发,常用来打开对应的窗口。 |
OnMinimizeToTray | TNotifyEvent | — | 窗体被收进托盘时触发。 |
OnStartup | TStartupEvent | — | 程序启动、托盘图标建立时触发。 |
本页只列出 MlSkin 新增的属性和事件;Align、Anchors、Font、OnClick 等标准 VCL 属性同样可用,用法与原生控件一致。