Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Свой трей [D7, XP, 2003]


markers ©   (2009-02-20 13:07:00) 

Ещё раз здраствуйте!
Мой нынешний вопрос является продолжением одной задачи что я сейчас делаю, но новый вопрос не является породолжением прошлого вопроса. (Прошлый вопрос: http://delphimaster.ru/cgi-bin/forum.pl?id=1235023215&n=18)
Моя задача сделать альтернативный таскБар с треем, сам таскбар сделан (По нему я спрашивал в прошлом вопросе), но есть проблема с треем.
Я надеялся на сырцы в которых я как-то давно на основе других сырцов делал трей в другой программе (Похожая но иная задача была, но небыла доделана) на основе других сырцов, но к сожалению видимо трей там был недореализован и его я выкинул или ещё чего (далал давным давно), но так или иначе реализации трея нет. Погуглил/пояндексил ответа не получил, нашёл только совет создать субкласс от трея Explorer`а, но я не знаю как создать субкласс от ишака и + ишак вообще не запущен и не запускается (Иначе небыло б смысла в моей программе). Предлагали тоже "воровать" данные из трея ишака, но опять же ишак незапущен. Так понимаю надо ловить сообщения о желании добавить/удалить/обновить иконку в трее, но как и какие?
Вообщем изменяюсь за лишний "мусор", чёткая задача на данный момент: Как сделать трей в своей программе?
Заранее спасибо!


markers   (2009-02-24 13:48:00) [1]

Удалено модератором


DVM   (2009-02-24 12:40:00) [2]

Удалено модератором


markers   (2009-02-23 23:34:00) [3]

Удалено модератором


markers   (2009-02-20 15:11:00) [4]

Удалено модератором


DVM   (2009-02-20 14:32:00) [5]


> У лайтстепа кривой трей. он часть иконок не показывает.
> х.з. почему.

Потому что структуры, которые передаются с WM_COPYDATA разные и недокументированные и в каждой версии Windows эти структуры отличаются немного, в LiteStep учитывают не все их виды. Плюс некоторые из иконок добавляются ShellServiceObjects (регулятор громкости, значки сетевых подключений, значок извлечения флешек и т.д.), которые самописная оболочка должна подгружать. Ну и еще там есть нюансы, которые в LS не учли. Я уже забыл что там не так конкретно.


@!!ex   (2009-02-20 14:24:00) [6]

> [3] DVM ©   (20.02.09 13:14)

У лайтстепа кривой трей. он часть иконок не показывает. х.з. почему.


DVM   (2009-02-20 13:55:00) [7]

Удалено модератором
Примечание: Личная переписка


markers   (2009-02-20 13:44:00) [8]

DVM ©
Я его делал примерно тогда же, собирались тогда делать проги для клуба комповского (каждый свою делал, но делились кодом.). Вот в исходниках этой прогисовей и я собирался взять код, но что-то ненашёл :(
Сорри за оффтоп!
ЗЫ: Если не сложно, не мог бы дать свою реализацию. Прогу делаю не коммерческую, и даже премии за неё не дадут.


DVM   (2009-02-20 13:34:00) [9]


> markers ©   (20.02.09 13:28) [7]


> Там помойму это был не финал, или ты выкусил кусок.

Может быть, не помню уже, я "десктопозаменитель" делал 5-6 лет назад где то, для самообразования.


markers   (2009-02-20 13:28:00) [10]

DVM ©
Там помойму это был не финал, или ты выкусил кусок. Так он был дореализован, нехватало кода при обновлении иконки.
За ссыль спасибо!


DVM   (2009-02-20 13:26:00) [11]


> markers ©   (20.02.09 13:19) [4]


> Исходников LiteStep нету, хотя видел часто упоминание о
> них.

это конечно проблема: http://www.lsdev.org/lib/exe/fetch.php?id=lsdev%3Adownloads&cache=cache&media=lsdev:downloads:archives:litestep-0_24_8:ls-0.24.8-rc1-src.zip


DVM   (2009-02-20 13:23:00) [12]


> DVM ©
> Я кстати когда-то помойму твои исходники и брал с этой реализацией.
>


> но к сожалению видимо трей там был недореализован и его
> я выкинул или ещё чего

Вряд ли, у меня трей был "дореализован". Или это были не мои исходники.


markers   (2009-02-20 13:19:00) [13]

DVM ©
Я кстати когда-то помойму твои исходники и брал с этой реализацией.
Зы: Исходников LiteStep нету, хотя видел часто упоминание о них.
Rouse_ ©
Ишак = Explorer = C:\Windows\explorer.exe
За ссыль спасибо, счас почитаю!


DVM   (2009-02-20 13:14:00) [14]


> markers ©   (20.02.09 13:07)  

Возьми и погляди исходники LiteStep там все есть. И трей и список задач и даже поддержка аппбаров и DDE сервер


DVM   (2009-02-20 13:12:00) [15]


> Так понимаю надо ловить сообщения о желании добавить/удалить/обновить
> иконку в трее, но как и какие?

WM_COPYDATA


> Как сделать трей в своей программе?

если эксплорер запущен вместе с твоей программой, то поставить ловушку на сообщения эксплорера и ловить нужные WM_COPYDATA
если эксплорера нет, то создать окно с тем же классом, что у панели задач эксплорера и ловить WM_COPYDATA самому.


Rouse_   (2009-02-20 13:12:00) [16]

1. Моя не понимай, что такое есть "ишак"
2. Достаточно полная реализация трей-менеджера приведена по этой ссылке: http://xoblite.net/source/TrayManager.cpp.html


Наверх

Титульная страница Поиск, карта сайта Написать письмо