На этот раз мы поговорим о другой особенности панели задачи Windows 7 – OverlayIcon. Эта возможность исключительно полезна для приложений, которые обладают каким-то состоянием с точки зрения пользователя.
К таким приложениям можно отнести программы для обмена мгновенными сообщениями (IM). Например, Windows Live Messanger активно использует эту возможность. Например, если мы откроем WLM и будем изменять состояние, то можно увидеть как оно отображается на панели задач.
Такая функциональность может быть полезна для множества приложений. К счастью реализовать ее не так сложно. Как и в предыдущих примерах мы воспользуемся библиотекой .NET Interop Sample Library.
Чтобы добавить иконку состояния к основному значку приложения, необходимо добавить файл ресурсов в проект и разместить там нужные иконки. Также, мы можем получить объекты Icon из другого места, если это необходимо.
Теперь все, что необходимо сделать – это воспользоваться методами расширения, позволяющими задавать иконки для нашего приложения. Для этих целей определен метод SetTaskbarOverlayIcon. Мы должны передать ему в параметрах нашу форму, иконку и описание. Т.о., установка новой иконки из кода будет выглядеть следующим образом.
Также мы можем удалить этот значок. Для этого необходимо передать значение null вместо самой иконки.
Давайте создадим для примера небольшое приложение, в котором можем переключать состояние. Выглядеть оно будет следующим образом.
При нажатии на каждую из кнопок переключается состояние, которое отображается в панели задач.
Демонстрационное приложение:
Taskbar-Icons.zip
К таким приложениям можно отнести программы для обмена мгновенными сообщениями (IM). Например, Windows Live Messanger активно использует эту возможность. Например, если мы откроем WLM и будем изменять состояние, то можно увидеть как оно отображается на панели задач.
Такая функциональность может быть полезна для множества приложений. К счастью реализовать ее не так сложно. Как и в предыдущих примерах мы воспользуемся библиотекой .NET Interop Sample Library.
Чтобы добавить иконку состояния к основному значку приложения, необходимо добавить файл ресурсов в проект и разместить там нужные иконки. Также, мы можем получить объекты Icon из другого места, если это необходимо.
Теперь все, что необходимо сделать – это воспользоваться методами расширения, позволяющими задавать иконки для нашего приложения. Для этих целей определен метод SetTaskbarOverlayIcon. Мы должны передать ему в параметрах нашу форму, иконку и описание. Т.о., установка новой иконки из кода будет выглядеть следующим образом.
WindowsFormsExtensions.SetTaskbarOverlayIcon(this, Icons.Error, "Error");
Также мы можем удалить этот значок. Для этого необходимо передать значение null вместо самой иконки.
WindowsFormsExtensions.SetTaskbarOverlayIcon(this, null, String.Empty);
Давайте создадим для примера небольшое приложение, в котором можем переключать состояние. Выглядеть оно будет следующим образом.
При нажатии на каждую из кнопок переключается состояние, которое отображается в панели задач.
Демонстрационное приложение:
Taskbar-Icons.zip