Delphi CoolTrayIcon组件的使用

  CoolTrayIcon组件可以实现托盘效果,CoolTrayIcon组件需要在网上进行下载才可以使用,使用起来很简单,基本上不用写代码,但是写少量代码来控制CoolTrayIcon组件实现托盘程序可以增加灵活性,其基本的使用方法可以参照下面的代码:

复制代码
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, CoolTrayIcon, Menus;

type
  TForm1 = class(TForm)
    CoolTrayIcon1: TCoolTrayIcon;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure CoolTrayIcon1DblClick(Sender: TObject);
    procedure CoolTrayIcon1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure N1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure CoolTrayIcon1MouseMove(Sender: TObject; Shift: TShiftState;
      X, Y: Integer);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
   CoolTrayIcon1.IconVisible:=True; //窗口关闭时进行查询,此时设置显示托盘图标,隐藏主窗体,不关闭主窗体
   CoolTrayIcon1.HideMainForm;
   Canclose:=False;
end;

procedure TForm1.CoolTrayIcon1DblClick(Sender: TObject);
begin
   CoolTrayIcon1.IconVisible:=False; //当双击托盘图标时,显示主窗体,隐藏托盘图标
   CoolTrayIcon1.ShowMainForm;
end;

procedure TForm1.CoolTrayIcon1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
   If Button=mbRight  then  PopupMenu1.Popup(x,y); //当鼠标右键单击时,弹出菜单出现,当然这个功能也可以通过直接设置CoolTrayIcon组件的PopupMenu属性来实现
   If Button=mbLeft   then  Begin                  //鼠标左键单击时,显示主窗体隐藏托盘
   CoolTrayIcon1.IconVisible:=False;
   CoolTrayIcon1.ShowMainForm;
   End;
end;

procedure TForm1.N1Click(Sender: TObject);
begin
   Application.Terminate;   //菜单程序,关闭程序
end;

procedure TForm1.N2Click(Sender: TObject);
begin
   CoolTrayIcon1.IconVisible:=False;  //菜单显示主窗体
   CoolTrayIcon1.ShowMainForm;
end;

procedure TForm1.CoolTrayIcon1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
    CoolTrayIcon1.Hint:='程序正在后台运行中'+#13#10+'欢迎使用!!'; //当鼠标在托盘上移动时,显示的提示文本
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   CoolTrayIcon1.IconVisible:=False;//创建窗体时,不显示托盘
end;

end.
复制代码

 

posted on   癫狂编程  阅读(1009)  评论(0编辑  收藏  举报

编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
历史上的今天:
2019-08-05 权限控制(delphi actionlist)
2019-08-05 Delphi ActionList详解
2019-08-05 TMainMenu 类[三] - 手动建立菜单(5) : 给菜单项添加事件
2019-08-05 Delphi动态事件深入分析
2019-08-05 在DELPHI中动态创建控件以及控件的事件
2019-08-05 delphi关闭程序Close,application.Terminate与halt区别
2019-08-05 怎样做delphi程序连接数据库失败,单机确定就关闭窗体

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
好的代码像粥一样,都是用时间熬出来的
点击右上角即可分享
微信分享提示