Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Сворачивание программы в трей. Как?  (Прочитано 10036 раз)
0 Пользователей и 1 Гость смотрят эту тему.
TX
Гость
« : 29-06-2009 15:54 » 

Добрый вечер!  Улыбаюсь
Подскажите пожалуйста, как можно сделать так, что программа сворачивалась в трей (возле часов) ??  Не понял
если можно на примере  Здесь была моя ладья...
« Последнее редактирование: 29-06-2009 18:19 от Finch » Записан
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #1 : 29-06-2009 16:52 » 

Приложение прячешь, в трее создаешь иконку... помнится в дельфи компонент Tray есть
Записан

Удачного всем кодинга! -=x[PooH]x=-
Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 29-06-2009 17:45 » 

Код:
procedure TForm1.Button1Click(Sender: TObject);

var
  LTrayI : PNotifyIconData;

begin

  LTrayI.cbSize := SizeOf(LTrayI);
  LTrayI.Wnd := Application.Handle;
  LTrayI.uID := 1;
  LTrayI.uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE;
  LTrayI.uCallbackMessage := WM_LBUTTONDOWN;
  LTrayI.hIcon := Self.Icon.Handle;
  LTrayI.szTip := 'Tooltip test' + chr(0);

  Shell_NotifyIcon(NIM_ADD, LTrayI);

end;

See also: Shell_NotifyIcon, NotifyIconData
« Последнее редактирование: 30-06-2009 03:34 от Oldy » Записан

С уважением, Oldy.
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #3 : 30-06-2009 13:47 » 

Oldy, только не стоит  делать lTrayI локальной переменной процедуры. убирать ты её потом из трея как будешь? Ага
Записан

Oldy
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 30-06-2009 15:29 » 

Ок!

Код:
...
Uses Shell;

var
  LTrayI : PNotifyIconData;

procedure TForm1.Button1Click(Sender: TObject);

begin
  LTrayI.cbSize := SizeOf(LTrayI);
  LTrayI.Wnd := Application.Handle;
  LTrayI.uID := 1;
  LTrayI.uFlags := NIF_ICON or NIF_TIP or NIF_MESSAGE;
  LTrayI.uCallbackMessage := WM_LBUTTONDOWN;
  LTrayI.hIcon := Self.Icon.Handle;
  LTrayI.szTip := 'Tooltip test' + chr(0);

  Shell_NotifyIcon(NIM_ADD, LTrayI);
end;
...
« Последнее редактирование: 01-07-2009 03:55 от Oldy » Записан

С уважением, Oldy.
TX
Гость
« Ответ #5 : 30-06-2009 16:10 » 

ребят, а я нашел такой дополнительный компонент как CoolTrayIcon - очень удобная!!))
Записан
MS
Помогающий

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 05-07-2009 17:33 » new

Этих компонентов в инете пруд пруди, просто наворотов  больше,  меню контекстное, иконка анимированная, и тд и тпх
Записан

Ничто так не ограничивает полёт мысли программиста, как компилятор
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines