热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Delphi10.3下自带系统托盘TrayIcon的使用

(0)老式提示(1)“气泡提示”的制作(2)动态图标(3)右键菜单 (4)最小化和还原窗口 (0)老式提示,随鼠标指针的提示文本,这是老式的,下面有新型的TrayIcon1.Hin

(0)老式提示

(1)“气泡提示”的制作

(2)动态图标

(3)右键菜单

  (4)最小化和还原窗口


 (0)老式提示,随鼠标指针的提示文本, 这是老式的, 下面有新型的

 TrayIcon1.Hint:='asdfad';

Delphi10.3下自带系统托盘 TrayIcon的使用


 ( 1 )“气泡提示”的制作

    第一步:在窗体中放置 TrayIcon 控件( Additional 面板中可以找到)。

    第二步:设置 TrayIcon 的 Icon 图标,载入一个 ICO 文件。

    第三步:设置 TrayIcon 的 BalloonHint 为“ Delphi10.3涂磊”,设置 BalloonTitle 为“托盘测试”。设置 Visible 为 True 。

    第四步:双击窗体,在 OnCreate 事件中写入下面代码: 

TrayIcon1.Animate:=true;
TrayIcon1.BalloonFlags := bfInfo;//bfNone,bfInfo,bfWarning,bfError四种类型
TrayIcon1.Hint:=self.Caption;
TrayIcon1.BalloonTitle:='提示';
TrayIcon1.BalloonHint:='请注意后电脑即将进入锁定状态.';
TrayIcon1.BalloonTimeout:=1000;
TrayIcon1.Visible:=True;
TrayIcon1.ShowBalloonHint;

Delphi10.3下自带系统托盘 TrayIcon的使用

    好了, F9 运行程序,一个“气泡提示”就会出现在图标上。属性中的 BalloonTimeout 是设置“气泡提示”多少秒后消失,默认是 1秒。


   ( 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 即可。


(3)右键菜单

第一步:在窗体上放置PopupMenu1

第二步:双击PopupMenu1,添加菜单Delphi10.3下自带系统托盘 TrayIcon的使用

第三步:设置 TrayIcon1 的 PopupMenu属性为 PopupMenu1 (可以直接在下拉列表中选择)。

 运行中,在托盘图标上右键即弹出菜单


  (4)最小化和还原窗口

第1步:在窗体上放置一个ApplicationEvents1,双击Delphi10.3下自带系统托盘 TrayIcon的使用

第2步:隐藏主窗体

procedure TForm6.ApplicationEvents1Minimize(Sender: TObject);
begin
  Hide(); // 隐藏主窗体
  Self.WindowState := TWindowState.wsMinimized;  // 最小化  不在任务栏上显示
end;

第3步:显示主窗口,Delphi10.3下自带系统托盘 TrayIcon的使用

procedure TForm6.N12Click(Sender: TObject); // 返回,显示主窗口
begin
  Self.Show();
  Self.WindowState := TWindowState.wsNormal;
  Application.BringToFront(); // 前靠
end;

双击托盘图标,显示主窗口,复用上面代码

Delphi10.3下自带系统托盘 TrayIcon的使用

 


推荐阅读
  • 本文深入解析了WCF Binding模型中的绑定元素,详细介绍了信道、信道管理器、信道监听器和信道工厂的概念与作用。从对象创建的角度来看,信道管理器负责信道的生成。具体而言,客户端的信道通过信道工厂进行实例化,而服务端则通过信道监听器来接收请求。文章还探讨了这些组件之间的交互机制及其在WCF通信中的重要性。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • 我有一个从C项目编译的.o文件,该文件引用了名为init_static_pool ... [详细]
  • Android 自定义 RecycleView 左滑上下分层示例代码
    为了满足项目需求,需要在多个场景中实现左滑删除功能,并且后续可能在列表项中增加其他功能。虽然网络上有很多左滑删除的示例,但大多数封装不够完善。因此,我们尝试自己封装一个更加灵活和通用的解决方案。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 本文将带你快速了解 SpringMVC 框架的基本使用方法,通过实现一个简单的 Controller 并在浏览器中访问,展示 SpringMVC 的强大与简便。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 在Delphi7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本。定义如下:1234 ... [详细]
  • 本文详细介绍了 Spark 中的弹性分布式数据集(RDD)及其常见的操作方法,包括 union、intersection、cartesian、subtract、join、cogroup 等转换操作,以及 count、collect、reduce、take、foreach、first、saveAsTextFile 等行动操作。 ... [详细]
  • 使用方法:将要控制的角色拖到TargetBody,将相机的焦点拖到CamerPivot,,建议CameraPivot是一个放在TargetBody下的子物体,并且位置应该是在Tar ... [详细]
  • 目录预备知识导包构建数据集神经网络结构训练测试精度可视化计算模型精度损失可视化输出网络结构信息训练神经网络定义参数载入数据载入神经网络结构、损失及优化训练及测试损失、精度可视化qu ... [详细]
  • JUC(三):深入解析AQS
    本文详细介绍了Java并发工具包中的核心类AQS(AbstractQueuedSynchronizer),包括其基本概念、数据结构、源码分析及核心方法的实现。 ... [详细]
  • VB.net 进程通信中FindWindow、FindWindowEX、SendMessage函数的理解
    目录一、代码背景二、主要工具三、函数解析1、FindWindow:2、FindWindowEx:3、SendMessage: ... [详细]
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
author-avatar
格林威治
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有