![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Свой трей [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