2016-07-29 4 views
1

Я хочу, чтобы приложение Delphi отображало значок Animated Tray в области уведомлений. Я также искал об этом, но я получил только результаты для TTrayIcon, которые я не использую.Отображение значка с анимированным лотком с использованием Shell_NotifyIcon в приложении Delphi

Я использую Shell_NotifyIcon и не могу понять, как оживить значок лотка в области уведомлений. Таймер (TTimer), который используется для установки интервала анимации для этого, должен быть остановлен и запущен в любое время.

Проблема заключается в том, что я не знаю, как начать TTimer после первого восстановления выполненной формы.

Я имею в виду, что пользователь открыл мою программу и свести ее к системному лотку, ее значок «Системный трей» был хорошо анимирован, и пользователь снова восстановил его по какой-либо причине, и он снова сведёт его к системному лотку, а затем Системный значок Tray Анимация и TTimer должны быть в состоянии начать снова и не должны отображаться, как обычный значок системного лотка, который не оживляет.

Как я могу это достичь?

Спасибо заранее.

+0

Чтобы включить TTimer, установите TTimer.Enabled в true –

ответ

6

На самом деле, я не понимаю ваш вопрос очень хорошо, но если вы имеете в виду, чтобы активировать TTimer При восстановлении программы и отключить его, когда вы Минимизация

Вы можете использовать «ApplicationEvents»:

  1. OnMinimize:

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

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

Удачи.

+0

Спасибо. Я попробую это. – Blueeyes789

+0

@ Blueeyes789 Добро пожаловать в любое время. – Sami