Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Как свернуть программу в трей

Ответить
Настройки темы
Как свернуть программу в трей

Аватара для fossil

Ветеран


Сообщения: 637
Благодарности: 20


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Как можно сделать чтобы при запуске программа добавляла иконку в трей и при нажатии "Свернуть" сворачивалась в трей?

-------
Согласно непопулярному мнению, Windows - враждебная ОС.
Так получилось, что Windows не выбирает себе друзей.


Отправлено: 13:17, 13-04-2004

 


Сообщения: 196
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


fossil
Shell_NotifyIcon

Отправлено: 18:37, 13-04-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для fossil

Ветеран


Сообщения: 637
Благодарности: 20

Профиль | Сайт | Отправить PM | Цитировать


Ну я в курсе. А где и как им пользоваться?
Я находил много статей и исходников по этой теме, но ничего непонятно.. Я вообще так понял что Shell_NotifyIcon это какой-то компонент, но где его брать незнаю. Объясните может на примере каком-нибдуь?

-------
Согласно непопулярному мнению, Windows - враждебная ОС.
Так получилось, что Windows не выбирает себе друзей.


Отправлено: 20:03, 13-04-2004 | #3



Сообщения: 196
Благодарности: 0

Профиль | Сайт | Отправить PM | Цитировать


fossil это апи функция, для ее использования необходимо включить в программу модуль ShellAPI.pas (если пишете на Делфи). Прошу прощения но я сейчас убегаю, подробнее об использовании ф-ции напишу чуть позже

Отправлено: 22:13, 13-04-2004 | #4


Аватара для fossil

Ветеран


Сообщения: 637
Благодарности: 20

Профиль | Сайт | Отправить PM | Цитировать


хе-хе-хе ок..
Уже по этой небольшой статье появились вопросы
Как включить в прогу модуль ShellAPI.pas?
Пишу на Delphi 7

-------
Согласно непопулярному мнению, Windows - враждебная ОС.
Так получилось, что Windows не выбирает себе друзей.


Отправлено: 08:47, 14-04-2004 | #5


Аватара для [mzd]

Линуксоид-стакановец


Сообщения: 2394
Благодарности: 186

Профиль | Сайт | Отправить PM | Цитировать


В разделе interface подключаешь
Код: Выделить весь код
uses ShellAPI

-------
Микроблог
Живя в реальном мире, стремись к невероятному... Эрнесто Че Гевара
Everybody lies. (c) House M.D.
Базовая настройка Ubuntu. Документация для новичка.
Руководство по установке, начальной настройке и основам использования операционной системы Ubuntu


Отправлено: 12:41, 14-04-2004 | #6


Аватара для fossil

Ветеран


Сообщения: 637
Благодарности: 20

Профиль | Сайт | Отправить PM | Цитировать


а потом?

-------
Согласно непопулярному мнению, Windows - враждебная ОС.
Так получилось, что Windows не выбирает себе друзей.


Отправлено: 13:02, 14-04-2004 | #7


Аватара для [mzd]

Линуксоид-стакановец


Сообщения: 2394
Благодарности: 186

Профиль | Сайт | Отправить PM | Цитировать


Код: Выделить весь код
type TForm1 = class(TForm)
...
protected
 PROCEDURE MYWMNOTIFYICON(VAR Message: TMessage); MESSAGE MYWM_NOTIFYICON;
...
FUNCTION MyTaskBarAddIcon(wnd: HWND; uID: integer; Icon: HICON; S: STRING): Boolean;
VAR tnid: TNOTIFYICONDATA;
BEGIN
  tnid.cbSize := SizeOf(TNOTIFYICONDATA);
  tnid.Wnd := wnd;
  tnid.uID := uID;
  tnid.uFlags := NIF_MESSAGE OR NIF_ICON OR NIF_TIP;
  tnid.uCallbackMessage := MYWM_NOTIFYICON;
  tnid.hIcon := Icon;
  Lstrcpyn(tnid.szTip, PChar(S), SizeOf(tnid.szTip));
  Result := Shell_NotifyIcon(NIM_ADD, @tnid);
END;

FUNCTION MyTaskBarDeleteIcon(wnd: HWND; uID: integer): Boolean;
VAR tnid: TNOTIFYICONDATA;
BEGIN
  tnid.cbSize := SizeOf(TNOTIFYICONDATA);
  tnid.Wnd := wnd;
  tnid.uID := uID;
  Result := Shell_NotifyIcon(NIM_DELETE, @tnid);
END;

FUNCTION MyTaskBarModifyIcon(wnd: HWND; uID: integer; Icon: HICON; S: STRING): Boolean;
VAR tnid: TNOTIFYICONDATA;
BEGIN
  tnid.cbSize := SizeOf(TNOTIFYICONDATA);
  tnid.Wnd := wnd;
  tnid.uID := uID;
  tnid.uFlags := NIF_MESSAGE OR NIF_ICON OR NIF_TIP;
  tnid.uCallbackMessage := MYWM_NOTIFYICON;
  tnid.hIcon := Icon;
  Lstrcpyn(tnid.szTip, PChar(S), SizeOf(tnid.szTip));
  Result := Shell_NotifyIcon(NIM_MODIFY, @tnid);
END;
...
procedure TForm1.FormCreate(Sender: TObject);
begin
...
MyTaskBarAddIcon(Handle, MyIconID, Application.Icon.Handle, 'Имя проги');
...
end;
...
PROCEDURE TForm1.MYWMNOTIFYICON(VAR Message: TMessage);
VAR Cur: TPoint;
BEGIN
  IF Message.WParam = MyIconID THEN
    CASE Message.LParam OF
      WM_RBUTTONDOWN:
      BEGIN
        GetCursorPos(Cur);
        PopupMenu1.Popup(Cur.X, Cur.Y);
      END;
      WM_LBUTTONUP:
       BEGIN
        GetCursorPos(Cur);
        PopupMenu1.Popup(Cur.X, Cur.Y);
      END;
    END;
END;

-------
Микроблог
Живя в реальном мире, стремись к невероятному... Эрнесто Че Гевара
Everybody lies. (c) House M.D.
Базовая настройка Ubuntu. Документация для новичка.
Руководство по установке, начальной настройке и основам использования операционной системы Ubuntu


Отправлено: 18:13, 14-04-2004 | #8


Аватара для fossil

Ветеран


Сообщения: 637
Благодарности: 20

Профиль | Сайт | Отправить PM | Цитировать


Спасибо, но как-то не сразу вылазиет popup?!

[s]Исправлено: fossil, 9:19 15-04-2004[/s]

-------
Согласно непопулярному мнению, Windows - враждебная ОС.
Так получилось, что Windows не выбирает себе друзей.


Отправлено: 09:12, 15-04-2004 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Как свернуть программу в трей

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Интерфейс - [решено] Как очистить трей от старых, не нужных иконок? kigerman Microsoft Windows 7 17 10-11-2015 09:26
Система - Как свернуть определенное окно в трей (Tray) Guest Программное обеспечение Windows 18 10-08-2013 15:22
Debian/Ubuntu - Как в ubuntu свернуть виндовый терминал Anatoliy2004 Общий по Linux 5 06-05-2009 13:28
Интерфейс - Как свернуть программу в трей после загрузки? Andrei_IW Microsoft Windows Vista 9 05-08-2008 16:50
Как вернуть значёк программы в трей? avenir00 Программное обеспечение Windows 4 25-02-2008 07:03




 
Переход