Программируем панель задач Windows 7 (ч.4)
Ранее я писал о том, как можно добавить значок состояния для вашего приложения в панели задач Windows 7. Мы рассматривали статические изображения для этих целей. Напомню, что для этого мы использовали метод SetTaskbarOverlayIcon, в параметрах которого передается ссылка на Icon.
Однако, один из читателей блога предложил другой сценарий, в котором на месте дополнительной иконки отображается какая-то информация. К примеру, это может быть текущая скорость закачки, если ваше ПО что-то загружает по сети. Либо это может быть количество новых писем в почтовом ящике, если это почтовый клиент. Примеров можно привести много.
Напомню, что для того, чтобы задать статическое изображение необходимо выполнить следующий код:
WindowsFormsExtensions.SetTaskbarOverlayIcon(this, Icons.Error, "Error");
В качестве второго параметра здесь передается объект Icon. Однако, кто нам мешает генерировать этот объект динамически? Давайте воспользуемся нехитрым кодом и сделаем это. Я создам метод, который будет генерировать такое изображение и покажу эту иконку.
private static Icon BuildIcon(int param)
{
Bitmap image = Icons.BLANK2334242;
Graphics.FromImage(image).DrawString(param.ToString(@"D2"), new Font("Arial", 54), Brushes.White, 10, 25); return Icon.FromHandle(image.GetHicon());
}
private void ShowStatus(object sender, EventArgs e)
{
WindowsFormsExtensions.SetTaskbarOverlayIcon(this, BuildIcon(50, "Status");
}
Таким образом, при помощи метода BuildIcon будет сгенерирована новая иконка, которая будет отображена на панели задач.
На данном скриншоте хорошо видно, что к стандартному значку мы добавили текст и отобразили это на панели задач.
В демонстрационном приложении я создал таймер, который имитирует работу менеджера загрузки, выдавая постоянно разную "скорость" закачки.
Microsoft Most Valuable Professional, Microsoft Regional Director
июнь 2009
Комментарии
про эту возможность следует рассказать разработчикам uTorrent, чтобы они ее включили в версии 1.9
Да, отличные статьи про функции супербара, надеюсь к выходу RTM обновится софт, добавится подобный функционал, особенно аська и торрент
Отлично! С новой панелью задач можно неимоверно повысить информативность свернутых приложений - все будет на виду
Заметил, что в новом Сафари загрузка файлов сопровождается заполнением иконки зеленым прогрессом =)
По теме
- Видео-курсы от MS: Разработка приложений виртуальной и расширенной реальности на платформе Microsoft
- ECMA JavaScript 6: Объекты
- Как просто создать приложение для iPhone
- Разработка приложений под Windows Phone 8
- Индексированное хранилище, часть 2
- Индексированное хранилище, часть 1
- Начала Metro-программирования: создание настраиваемых приложений (ч.2)
- Начала Metro-программирования: создание настраиваемых приложений (ч.1)
- Начала Metro-программирования: создание компонентов WinRT (ч.3)
- Начала Metro-программирования: создание компонентов WinRT (ч.2)