Твой софтовый форум > Тематические форумы > Программирование

Значёк в трее

,

VB6 и Win32 API

Дата публикации: 01.06.2004 - 11:26
Germanetz
При помощи "Shell_NotifyIconA" поместил значёк в трей (в ИНете - зелёный, в оффлайне - красный). Всё работает, но после выхода из программы значёк не удаляется из трея. "NIM_DELETE" или неправильно использую, или не работает. Но, если на него навести мышь - исчезает. Подскажите, каким способом его убирать при выходе из программы? Система Вин_ХР_про.
Germanetz
Разобрался:
Оказалось - неправильно использовал "NIM_DELETE"
Надо:
Цитата | Quote
nidTemp.hwnd = Picture1.hwnd
nidTemp.uFlags = NIM_DELETE
SetTrayIcon = Shell_NotifyIcon(2, nidTemp)

А было:
Цитата | Quote
nidTemp.hwnd = Picture1.hwnd
nidTemp.uFlags = NIM_DELETE
SetTrayIcon = Shell_NotifyIcon(0, nidTemp)

Константа "NIM_DELETE" эквивалентна "2"
а "0" только добавляет значёк...
Paladin
Жаль, что не для Delphi, мне для моей проги нужно..
Germanetz
Похоже, что и в Делфи не очень сложно подключить, но синтаксис... Привык я к Басику... Пытаюсь... Пришлю на мыло (надеюсь, что смогу значёк в трей на Делфи посадить)
microgenius
В среде Delphi посадить значёк в трей проще некуда:
FIconData.cbSize := sizeof(TNOTIFYICONDATA); //Размер smile.gif
FIconData.Wnd := FormTrayIcon.Handle; //указываем владельца
FIconData.hIcon := FIcon.Handle; //Указываем иконку
FIconData.uID := 5; //НУ вы сами догадаитесь
FIconData.szTip := 'TrayIconTest'; //вплывающая подсказка
FIconData.uFlags := NIF_MESSAGE + NIF_ICON + NIF_TIP; //Флаги, значения смотрите в help'е
FIconData.uCallbackMessage := WM_USER+1; //Сообщение, которое возникает при клике на иконке в треи
Shell_NotifyIcon(NIM_ADD, @FIconData)

Чтобы удалить иконку из трея:
Shell_NotifyIcon(NIM_DELETE, @FIconData);
Paladin
А каго типа Ficondata ??? - я не великий программист....
microgenius
Цитата | Quote(Paladin @ Четверг, 27 Май 2004, 11:09)
А каго типа Ficondata ??? - я не великий программист....

TNOTIFYICONDATA
Paladin
Да...........wink.gif а что в uses нужно подключать... вообщем по-подробнее, пожалуйста wink.gif
microgenius
модуль: ShellAPI
А вообще-то есть такая вещь как HELP читай и разбирайся.


Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке: Значёк в трее
SoftoRooM © 2004-2024