Для начала нам нужно свернуть программу в трей, и разворачивать ее отттуда.
В компоненте applicationevents выбираем событие onminimize (Скрин)
и пишем следующий код:
Код:
procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
TrayIcon1.visible:=true;
//Убираем с панели задач
ShowWindow(Handle,SW_HIDE); // Скрываем программу
ShowWindow(Application.Handle,SW_HIDE); // Скрываем кнопку с TaskBar'а
SetWindowLong(Application.Handle, GWL_EXSTYLE,
GetWindowLong(Application.Handle, GWL_EXSTYLE) or (not WS_EX_APPWINDOW));
end;
Результат выполнения этого куска кода: при минимизации формы, в трее появится значок программы, и форма исчезнет.
Чтобы вернуть форму на экран, напишем следующий код:
Код:
procedure TForm1.TrayIcon1DblClick(Sender: TObject);
begin
TrayIcon1.ShowBalloonHint;
ShowWindow(Handle,SW_RESTORE);
SetForegroundWindow(Handle);
TrayIcon1.Visible:=False;
end;
Результат выполнения этого куска кода: по двойному клику по иконке в трее, форма вернется на экран, а значок исчезнет из трея.
Теперь научим программу посылать нам уведомления. Рассмотрим на примере кнопки:
Код:
procedure TForm1.Button2Click(Sender: TObject);
begin
TrayIcon1.visible:=true; // делаем значок в трее видимым
trayicon1.balloontitle:=('Текст 1');
trayicon1.balloonhint:=('Текст 2');
trayicon1.showballoonHint;// показываем наше уведомление
end;
Что у нас примерно получится:
[Ссылки могут видеть только зарегистрированные пользователи. ]
Статья писалась РОСПОТРЕБНАДЗОР'ом специально для zhyk.ru
При копировании указывать ссылку на эту тему.
Спасибо за внимание.
Re: Учимся работать с компонентом Ttrayicon в Delphi 2010
Самое полезное про сообщение! Кстати, можно ли как то в уведомление вставить картинку? (иконку уведомления, там типо жёлтый треугольник с восклицательным знаком)
Re: Учимся работать с компонентом Ttrayicon в Delphi 2010
Цитата:
Сообщение от KlimVoroshilov
Самое полезное про сообщение! Кстати, можно ли как то в уведомление вставить картинку? (иконку уведомления, там типо жёлтый треугольник с восклицательным знаком)
В компоненте выбирается тип уведомления. И от выбранного типа зависит какая картинка в нем будет