Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

4 лампочки в одной иконке трея.

div.main {margin-left: 20pt; margin-right: 20pt} 4 лампочки в одной иконке трея.

Автор: Меньшиков Дмитрий.

Среда: Win32, тестировалось под Win98, Win2000

CTrayLights

Описание:

Данный класс представляет удобный способ работы с четырьмя лампочками в одной иконке трея. Это может быть полезно при отсутствии пользовательского интерфейса у программы со сложной внутренней структурой (разделяемые ресурсы, потоки, взаимодействие с другим ПО и т.д.), а также при отладке или исследовании. Также это довольно неплохой способ диагностики проблем в случае удаленного низкоквалифицированного пользователя. 4 отдельно управляемые лампочки по 16 цветов дают возможность видеть отражение внутренних процессов программы, причем нескольких параметров, экономя пространство в трее. Каждая лампочка может быть включена в любой из 16 основных цветов или прозрачный, или выключена. Цвет выключенных лампочек можно задать, по умолчанию - прозрачный.

Использование:

Здесь все просто. Объявляется экземпляр класса CTrayLights, затем вызовом StartTrayLights() иконка помещается в трей, затем вызовами FireLightOn/Off() меняются цвета нужных лампочек, затем вызовом EndTrayLights() работа завершается. Последний вызов может быть опущен, т.к. он происходит и из деструктора.

Методы SetOffColor() и FireLightOff() добавлены для гибкости и удобства и могут не вызываться. Кроме того, можно использовать несколько иконок, наращивая число лампочек, для новых иконок достаточно задавать другие iconID.

Как это работает:

Из ICO файла стандартной иконки 16х16х16 выдрано примерно 300 байт, которые во время выполнения модифицируются, когда меняются значения цвета и прозрачности. Из этой цепочки байт создются иконки. При задании цвета сначала создается новая иконка, затем она заменяет ту, которая уже в трее, затем старая освобождается по сохраненному дескриптору. Работа с байтовой цепочкой неочевидна, но код получается компактным и быстрым.

 

Downloads

Загрузить демонстрационный проект - 14 Kb

 



  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте