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

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

В трее, но не иконка. [D6, Win95/98, WinME, NT4, Win2k, WinXP]


Kotka ©   (2004-01-26 16:22:00) 

Кто знает, можно ли и как выделить место в трее, например 32 на 128 точек (а не под иконку 32 на 32), и рисовать в этом месте.
Например как это делает Cameleon Clock, которая заменяет виндусовские часы своими.


Ig   (2004-01-26 23:48:00) [1]

>Если интересуют именно часы, то их окно и заменяйте/накрывайте своим
Даже если сделать поверх всех окон, при обновлении таскбара, накрытое окно окажется позади него(уже пробовал).
З.Ы. А вот насчет заменить, можно было и по подробнее :)


DVM   (2004-01-26 23:23:00) [2]


> Например как это делает Cameleon Clock, которая заменяет
> виндусовские часы своими.

Причем тут "трей"? Если интересуют именно часы, то их окно и заменяйте/накрывайте своим.
Если же интересует можно ли в в области уведомлений разместить две иконки так, чтобы они всегда располагались рядом, то скажу, что, пожалуй нельзя. Во-первых нет гарантии, что два ваших сообщения на добавление иконок придут друг за другом и между ними не вклинит свое сообщение другая программа. Во-вторых, рестарт оболочки опять должен внести сумятицу в это дела и иконки опять разойдутся. В-третьих, как быть, когда панель задач расположена вертикально и места остается только для одной иконки в ширину. В четвертых, там может появиться прокрутка - и врядли соседство иконок не будет при этом нарушено. И если в вин2000/хп еще можно попробовать взаимодействовать с областью уведомлений, так, как там она выполнена в виде тулбара, то в 95/98 все сложнее - иконки там просто рисуются на поверхности окна. Вобщем, по-моему, единственный нормальный(надежный) способ подменить процедуру рисования часов.
Просто "занять" место под иконки или другое окно не получится - при любых подвижках размер области будет пересчитан таскбаром и приведен в норму. Считает она "по головам" иконок и часов.
Есть, конечно хуки, можно перехватить и добавление/удаление/изменение иконок, и используя эту инфу можно добиться того, что иконки будут рядом, но держать их на одной строке все равно не получится.


Kotka   (2004-01-26 22:44:00) [3]

>МАКСЮХА ©   (26.01.04 17:12) [1]
>может 2 пустые иконки вставить
этот кривоватый способ я пробовал и понял, что он мне не подходит. Необходимо чтобы эти "иконки" были:
1) в одном и том же порядке (например, если в вин98 создаешь эти иконки и все нормально, то в вин-икс-пи получается все наоборот, а в других маст даях не испытывал)
2) склеены, то есть не рассыпались по разным строкам, когда у вас высота трея в две или более иконок


МАКСЮХА   (2004-01-26 17:12:00) [4]

Энто интересный вапрос... Есть несколько способов...
Обычно всякие-разные такие рисунки пишуться на иконках, но можно (не проверял) как-то получить Handle трэя и попытаться че-то там намалевать... А вот как выделить стока места, это даже не знаю, может 2 пустые иконки вставить :)


Наверх

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