Як згорнути програму Delphi в Tray
Одним з критеріїв гнучкою функціональності програми є можливість взаємодії з системним Tray. Програмна реалізація роботи з треєм складна і зводиться, як правило, до наступного алгоритму:
1) головна форма програми ховається, в системному треї з'являється іконка.
2) додаток відстежує клацання правою і лівою кнопки миші і реагує на них або появою спливаючого меню, або якимись іншими діями.
У цій статті буде розглянуто компонент для роботи з системним треєм RXTrayIcon. що входить в бібліотеку RX Library. Встановивши цю бібліотеку, у вас з'являться три панелі інструментів RX (рис.1).
На панелі "RX Tools" знайдіть компонент RXTrayIcon. спеціально розроблений для операцій з треєм.
Інспектор об'єктів компонента виглядає ось так:
Встановлюючи логічне властивість Active в True, ми показуємо в треї іконку, завантажену за допомогою діалогу в властивості Icon. Для того, щоб на етапі проектування можна було спостерігати результат роботи компонента, властивість ShowDesign потрібно встановити в True. Компонент може мати своє контекстне меню, яке можна вказати у властивості PopupMenu.
Щоб описати, як реалізується описаний вище алгоритм, потрібно створити в Delphi новий проект, встановити на форму компонент RXTrayIcon. кнопку Button і спливаюче меню TPopup. Кнопкою ми будемо згортати головну форму додатку в трей, при цьому в треї буде з'являтися іконка. При натисканні правої кнопки миші буде з'являтися спливаюче меню, що складається з одного пункту "Відновити". При виборі цього пункту меню головна форма програми знову буде видимою, при цьому іконка з трея зникне. Форма, після установки на неї компонентів, буде виглядати наступним чином:
В меню створимо один пункт з ім'ям "Back". Код, у вигляді оброблювачів 1) кнопки "Згорнути" і
2) пункту меню, буде виглядати так:
procedure TForm1.Button1Click (Sender: TObject);
begin
RxTrayIcon1.Active:=True;
Form1.Hide;
end;
procedure TForm1.BackClick (Sender: TObject);
begin
Form1.Show;
RxTrayIcon1.Active:=False;
end;
в обробнику кнопки "Згорнути" перший рядок виводить в треї іконку, другий рядок приховує головну форму додатку. У другому обработчике першим рядком спочатку з'являється головна форма програми, другий - з треї ховається іконка.
Як зробити анімовану іконку в Tray для програми Delphi
Для того щоб зробити анімовану іконку, потрібно скористатися властивістю компонента Animated. встановивши його в True. Анімація виходить в результаті чергування іконок, завантажених в ділоговом вікні властивості Icons. з інтервалом часу, заданому у властивості Interval (в мілісекундах).
встановлюємо у властивості Interval проміжок часу, через який буде з'являтися кожна наступна іконка в нашій послідовності. І отримаємо найпростішу анімацію з наших іконок в треї.