Программируем панель задач Windows 7 (ч.4)

Автор: Topol Воскресенье, Май 6th, 2012 Нет комментариев

Рубрика: Операционные системы

Ранее я писал о том, как можно добавить значок состояния для вашего приложения в панели задач 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 будет сгенерирована новая иконка, которая будет отображена на панели задач.

На данном скриншоте хорошо видно, что к стандартному значку мы добавили текст и отобразили это на панели задач.

В демонстрационном приложении я создал таймер, который имитирует работу менеджера загрузки, выдавая постоянно разную «скорость» закачки.

Источник: thevista.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты