C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Динамические иконки / Панель задач, Рабочий стол, трей / Система. Общее

Динамические иконки


Автор: Anish Mistry

Требования: VC6 SP4, W2K SP1

Как-то раз созрела необходимость сделать информационные бары, которые были бы видны в System Tray в виде иконок. Изначально я делал это следующим образом: создавал несколько различных иконок и располагал их на разных уровнях, затем манипулируя уровнями получал нужное мне изображение. Этот метод работал, пока со временем с ним стало неудобно работать, в результате чего был создан класс CMeterIcon.

Сразу предупреждаю, что класс довольно сложен в использовании, но зато он имеет довольно неплохую гибкость и функциональность.

Итак, как его использовать.

// Инициализация
CMeterIcon mi32;
const int nNumBars32 = 3;
const int nLevels32 = 4;

// устанавливаем ограничения (верх-низ) цветных баров
int pLimits32[nLevels32] = {25,35,87,100};

// устанавливаем цвета для каждого уровня
COLORREF pColors32[nLevels32] = 
 {RGB(255,0,0),RGB(255,255,0),RGB(0,255,0),RGB(0,255,255)};

// запускаем
mi32.Init(hFrame32,nMaxVal,nNumBars32,nSpacing,32,32,RGB(0,0,0));

// загружаем информацию о цветах и ограничениях
mi32.SetColorLevels(pLimits32,pColors32,nLevels32);

// создаём массив значений для баров
int pVals32[nNumBars32] = {nVal1,nVal2,nVal3};

// генерируем иконку (используя DestroyIcon() можно удалить иконку)
HICON hIcon32 = mi32.Create(pVals32);

Downloads

Скачать демонстрашку и исходник - 14 Kb



Также можете скачать Класс для управлением иконками в system tray здесь