Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Delphi应用程序中使用Shell_NotifyIcon显示动画托盘图标_Delphi_Delphi 2010_System Tray - Fatal编程技术网

在Delphi应用程序中使用Shell_NotifyIcon显示动画托盘图标

在Delphi应用程序中使用Shell_NotifyIcon显示动画托盘图标,delphi,delphi-2010,system-tray,Delphi,Delphi 2010,System Tray,我希望我的Delphi应用程序在通知区域显示一个动画托盘图标。我也搜索了一下,但我只得到了我不使用的TTrayIcon的结果 我使用Shell_NotifyIcon,但不知道如何在通知区域中设置托盘图标的动画。用于设置动画间隔的计时器TTimer应能够随时停止和启动 问题是我不知道在第一次恢复表单后如何启动TTimer 我的意思是一个用户打开了我的程序,并将它最小化到系统托盘,它的系统托盘图标被设置好动画,用户出于某种原因再次恢复了它,他再次将其最小化为系统托盘,然后系统托盘图标动画和TTIME

我希望我的Delphi应用程序在通知区域显示一个动画托盘图标。我也搜索了一下,但我只得到了我不使用的TTrayIcon的结果

我使用Shell_NotifyIcon,但不知道如何在通知区域中设置托盘图标的动画。用于设置动画间隔的计时器TTimer应能够随时停止和启动

问题是我不知道在第一次恢复表单后如何启动TTimer

我的意思是一个用户打开了我的程序,并将它最小化到系统托盘,它的系统托盘图标被设置好动画,用户出于某种原因再次恢复了它,他再次将其最小化为系统托盘,然后系统托盘图标动画和TTIMERT应该能够再次启动,并且不应该像正常的系统托盘图标那样显示,而不会显示动画

我怎样才能做到这一点


提前谢谢。

事实上,我不太理解你的问题,但是如果你指的是在还原程序时激活TTimer,在最小化时禁用它

您可以使用ApplicationEvents:

最小化:

procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
  Timer1.Enabled:=False;
end;
OnRestore:

procedure TForm1.ApplicationEvents1Restore(Sender: TObject);
begin
  Timer1.Enabled:=True;
end;

祝你好运。

事实上,我不太理解你的问题,但是如果你指的是在还原程序时激活TTimer,在最小化时禁用它

您可以使用ApplicationEvents:

最小化:

procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
  Timer1.Enabled:=False;
end;
OnRestore:

procedure TForm1.ApplicationEvents1Restore(Sender: TObject);
begin
  Timer1.Enabled:=True;
end;

祝你好运。

要启用TTimer,请设置TTimer。要启用,请使用TCOLTRAYICON。它已经支持动画。要启用TTimer,请设置TTimer.Enabled以使用TCOLTRAYICON。它已经支持动画。谢谢,我试试这个。