|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Как свернуть программу в трей |
|
Как свернуть программу в трей
|
Ветеран Сообщения: 637 |
Профиль | Сайт | Отправить PM | Цитировать Как можно сделать чтобы при запуске программа добавляла иконку в трей и при нажатии "Свернуть" сворачивалась в трей?
|
|
------- Отправлено: 13:17, 13-04-2004 |
Сообщения: 196
|
Профиль | Сайт | Отправить PM | Цитировать fossil
Shell_NotifyIcon |
Отправлено: 18:37, 13-04-2004 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 637
|
Профиль | Сайт | Отправить PM | Цитировать Ну я в курсе. А где и как им пользоваться?
Я находил много статей и исходников по этой теме, но ничего непонятно.. Я вообще так понял что Shell_NotifyIcon это какой-то компонент, но где его брать незнаю. Объясните может на примере каком-нибдуь? |
------- Отправлено: 20:03, 13-04-2004 | #3 |
Сообщения: 196
|
Профиль | Сайт | Отправить PM | Цитировать fossil это апи функция, для ее использования необходимо включить в программу модуль ShellAPI.pas (если пишете на Делфи). Прошу прощения но я сейчас убегаю, подробнее об использовании ф-ции напишу чуть позже
|
Отправлено: 22:13, 13-04-2004 | #4 |
Ветеран Сообщения: 637
|
Профиль | Сайт | Отправить PM | Цитировать хе-хе-хе ок..
Уже по этой небольшой статье появились вопросы Как включить в прогу модуль ShellAPI.pas? Пишу на Delphi 7 |
|
------- Отправлено: 08:47, 14-04-2004 | #5 |
Линуксоид-стакановец Сообщения: 2391
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 12:41, 14-04-2004 | #6 |
Ветеран Сообщения: 637
|
Профиль | Сайт | Отправить PM | Цитировать а потом?
|
------- Отправлено: 13:02, 14-04-2004 | #7 |
Линуксоид-стакановец Сообщения: 2391
|
Профиль | Отправить 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; |
------- Отправлено: 18:13, 14-04-2004 | #8 |
Ветеран Сообщения: 637
|
Профиль | Сайт | Отправить PM | Цитировать Спасибо, но как-то не сразу вылазиет popup?!
[s]Исправлено: fossil, 9:19 15-04-2004[/s] |
------- Отправлено: 09:12, 15-04-2004 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Система - Как свернуть определенное окно в трей (Tray) | Guest | Программное обеспечение Windows | 21 | 06-02-2020 18:35 | |
Интерфейс - [решено] Как очистить трей от старых, не нужных иконок? | kigerman | Microsoft Windows 7 | 17 | 10-11-2015 09:26 | |
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 |
|