day & night

Значёк в трее, VB6 и Win32 API
Дата обновления: , перейти к новому сообщению
#1
Germanetz



Made in Germany
**

Группа: Пользователи
Сообщений: 89
Регистрация: 23.02.2004
Из: Воронеж
Пользователь №: 250


Респектов: 0
----------


Предупреждений:


При помощи "Shell_NotifyIconA" поместил значёк в трей (в ИНете - зелёный, в оффлайне - красный). Всё работает, но после выхода из программы значёк не удаляется из трея. "NIM_DELETE" или неправильно использую, или не работает. Но, если на него навести мышь - исчезает. Подскажите, каким способом его убирать при выходе из программы? Система Вин_ХР_про.
User is offline
Go topGo end
 

Ответов(1 - 8)
10.05.2004 - 0:18
#2
Germanetz



Made in Germany
**

Группа: Пользователи
Сообщений: 89
Регистрация: 23.02.2004
Из: Воронеж
Пользователь №: 250


Респектов: 0
----------


Предупреждений:


Разобрался:
Оказалось - неправильно использовал "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" только добавляет значёк...
User is offline
Go topGo end
21.05.2004 - 19:09
#3
Paladin



профи!
Group Icon

Группа: Наши Люди
Сообщений: 944
Регистрация: 7.03.2004
Из: г. Абакан
Пользователь №: 303


Респектов: 11
-----X----




Жаль, что не для Delphi, мне для моей проги нужно..
User is offline
Go topGo end
25.05.2004 - 23:46
#4
Germanetz



Made in Germany
**

Группа: Пользователи
Сообщений: 89
Регистрация: 23.02.2004
Из: Воронеж
Пользователь №: 250


Респектов: 0
----------


Предупреждений:


Похоже, что и в Делфи не очень сложно подключить, но синтаксис... Привык я к Басику... Пытаюсь... Пришлю на мыло (надеюсь, что смогу значёк в трей на Делфи посадить)
User is offline
Go topGo end
26.05.2004 - 13:01
#5
microgenius



Unregistered














В среде 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);
Go topGo end
27.05.2004 - 7:09
#6
Paladin



профи!
Group Icon

Группа: Наши Люди
Сообщений: 944
Регистрация: 7.03.2004
Из: г. Абакан
Пользователь №: 303


Респектов: 11
-----X----




А каго типа Ficondata ??? - я не великий программист....
User is offline
Go topGo end
1.06.2004 - 6:28
#7
microgenius



Unregistered














Цитата | Quote(Paladin @ Четверг, 27 Май 2004, 11:09)
А каго типа Ficondata ??? - я не великий программист....

TNOTIFYICONDATA
Go topGo end
1.06.2004 - 9:33
#8
Paladin



профи!
Group Icon

Группа: Наши Люди
Сообщений: 944
Регистрация: 7.03.2004
Из: г. Абакан
Пользователь №: 303


Респектов: 11
-----X----




Да...........wink.gif а что в uses нужно подключать... вообщем по-подробнее, пожалуйста wink.gif
User is offline
Go topGo end
1.06.2004 - 11:26
#9
microgenius



Unregistered














модуль: ShellAPI
А вообще-то есть такая вещь как HELP читай и разбирайся.
Go topGo end

Topic Options
Сейчас: 27.04.2024 - 23:48
Мобильная версия | Lite версия