Delphi 系统托盘 TrayIcon


本文整理自网络,侵删。

 
TTrayIcon 的主要属性: 
TrayIcon.Icon
指定托盘图标, 有几种用法:
1、设计时选择;  2、把一个 TIcon 对象给它;
3、使用当前程序图标: TrayIcon1.Icon := Application.Icon;
4、TrayIcon1.SetDefaultIcon; 这也是使用当前程序图标.  
TrayIcon.Icons 与 TrayIcon1.IconIndex
TrayIcon.Icons 对应一个 TImageList, 用 TrayIcon.IconIndex 来指定使用 TImageList 中的第一个图标.
这结合 TrayIcon 的其他功能做出图标动画都没有问题. 
       TrayIcon.PopupMenu
TrayIcon.PopupMenu 对应一个 TPopupMenu, 托盘图标一般少不了右键菜单.
TrayIcon.Visible
隐藏或显示系统托盘的图标; 虽简单、但关键, 因默认是 False. 
       TrayIcon.Hint
随鼠标指针的提示文本, 这是老式的, 下面有新型的.

   TrayIcon.BalloonHint、BalloonTitle、BalloonFlags、BalloonTimeout
这都是新型的 Hint 相关的.
TrayIcon.BalloonHint: Hint 文本
TrayIcon.BalloonTitle: Hint 标题
TrayIcon.BalloonFlags: Hint 图标样式
TrayIcon.BalloonTimeout: Hint 停留时间
需要用 TrayIcon 的 ShowBalloonHint 方法启动显示
TrayIcon.Animate 与 TrayIcon1.AnimateInterval
TrayIcon 的新 Hint(BalloonHint)可设定动画.
TrayIcon.Animate: 这决定是否启用动画
TrayIcon1.AnimateInterval: 动画间隔时间

TTrayIcon 的主要事件: 
OnAnimate: 写动画代码的事件
OnBalloonClick: 点击 BalloonHint 时...
OnClick: 单击图标时...
OnDblClick
OnMouseDown
OnMouseMove
OnMouseUp

TTrayIcon 还有两个方法, 前面都已提到了:
TTrayIcon.SetDefaultIcon;
TTrayIcon.ShowBalloonHint;

    1 . TTrayIcon 。该控件是用于在托盘中显示自己软件的图标。使用 TTrayIcon 控件可以很容易的实现“动态图标”及“气泡提示”功能。如下图所示:
    托盘显示
    ( 1 )“气泡提示”的制作
    第一步:在窗体中放置 TrayIcon 控件( Additional 面板中可以找到)。
    第二步:设置 TrayIcon 的 Icon 图标,载入一个 ICO 文件。
    第三步:设置 TrayIcon 的 BalloonHint 为“ Delphi 2006 高级控件应用”,设置 BalloonTitle 为“电脑报 2005 年合订本”。设置 Visible 为 True 。
    第四步:双击窗体,在 OnCreate 事件中写入下面代码: TrayIcon1.ShowBalloonHint;
    好了, F9 运行程序,一个“气泡提示”就会出现在图标上。属性中的 BalloonTimeout 是设置“气泡提示”多少秒后消失,默认是 3 秒。
    ( 2 )动态图标
    我们大家都知道,当有 QQ 消息时,托盘中会有一个闪烁图标,使用 TrayIcon 控件可以非常容易地实现这个功能。
    使图标动起来,其实就是使用多个图标进行切换。QQ 的闪烁图标,其实就是使用的两个图标来进行切换的,一个是头像图标,一个是空的图标。
    下面我们就来模拟 QQ 头像闪烁功能:
    第一步:在窗体上放置 ImageList 控件(在 Win32 面板中可以找到)。
    第二步:设置 ImageList 控件的 Width 和 Height 属性为 32 ,然后双击 ImageList ,点击“ Add ”按钮添加图标文件。第一个添加的是要显示的图标,第二个添加一个空的图标(可以使用 Image Editor 新建一个 ICO 文件,然后直接保存即可得到一个空的图标。)。
    第三步:设置 TrayIcon 的 Icons 属性为 ImageList1 (可以直接在列表中选择)。
    第四步:在 Form1 的 OnFormShow 事件中加入下面的代码:
    TrayIcon1.Animate := True;
    TrayIcon1.AnimateInterval := 450;
    当 Animate 为 True 时,将自动按 ImageList 控件中图标的顺序进行依次显示,形成动态效果。 AnimateInterval 为每隔多少时间显示下一个图标。如果要停止闪烁,将 Animate 设置为 False 即可。

相关阅读 >>

Delphi 释放资源文件中的exe文件并运行

Delphi windows 获取指定进程句柄数

Delphi2010:把stringgrid数据保存到excel

Delphi webbrowser1遍历网页中的图片

Delphi取整函数

Delphi adoconnection1 连接excel 读取数据

Delphi xe5开发android程序调用电话相关功能(短信息和电话)

Delphi 内存管理[2]

Delphi中使用 twebbrowser 编辑网页

Delphi 数据库char varchar nvarchar区别

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...