Опрос
Вы участвуете в программе Windows Insider?
Популярные новости
Обсуждаемые новости

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

Напечатать страницу
19.06.2009 13:16 | deeper2k

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



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

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

Загрузить демо-приложение >>>

Sergey Zwezdin, TheVista.Ru Team
Microsoft Most Valuable Professional, Microsoft Regional Director
июнь 2009

Комментарии

Не в сети

про эту возможность следует рассказать разработчикам uTorrent, чтобы они ее включили в версии 1.9

19.06.09 18:26
0
Не в сети

Да, отличные статьи про функции супербара, надеюсь к выходу RTM обновится софт, добавится подобный функционал, особенно аська и торрент

19.06.09 21:45
0
Не в сети

Отлично! С новой панелью задач можно неимоверно повысить информативность свернутых приложений - все будет на виду

19.06.09 23:35
0
Не в сети

Заметил, что в новом Сафари загрузка файлов сопровождается заполнением иконки зеленым прогрессом =)

20.06.09 20:22
0
Для возможности комментировать войдите в 1 клик через

По теме

Акции MSFT
420.55 0.00
Акции торгуются с 17:30 до 00:00 по Москве
Все права принадлежат © ms insider @thevista.ru, 2022
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.028 секунд (Общее время SQL: 0.014 секунд - SQL запросов: 59 - Среднее время SQL: 0.00023 секунд))
Top.Mail.Ru