Обсуждение завершено Программируем панель задач Windows 7: списки переходов (ч.1)

Саныч

Опытный участник
Сообщения
731
Реакции
744
Добро пожаловать в еще одну статью о панели задач Windows 7! В предыдущей статье "Разработка для панели задач Windows 7 - AppID" мы рассказали об очень важном компоненте внутренней архитектуры панели задач - Application ID (AppID), который является ключевым компонентом, определяющим, как разные приложения группируются под одной кнопкой панели задач. AppID также имеет прямое влияние на то, как заполняется и группируется содержимое списков переходов (в оригинале jumplist).

Microsoft разрабатывала панель задач Windows 7, чтобы обеспечить пользователям простой и быстрый доступ к тем функциям и документам, которые они используют чаще всего. Сюда относятся и изображения, музыка, документы или ссылки/ярлыки к приложениям или папкам, или любой иной тип контента Windows. Под "быстрым и простым доступом" мы имеем в виду возможность получить доступ к часто используемым программам с помощью единственного щелчка мышью или с помощью значительно сократившегося количества щелчков мышью. "Быстрый и легкий доступ" также обозначает, что пользователи должны иметь возможность быстро перейти к тем документам/приложениям, с которыми они хотят работать и начать работать с ними с помощью одного щелчка мышью. Чтобы обеспечить такую функциональность, в панели задач Windows 7 была представлена концепция списков переходов. Дополнительную информацию о предпосылках создания выпадающих списков панели задач могут быть найдены в статье Чайтаньи Сарин Панель задач в Windows 7 и видео на Channel 9 Обзор новой панели задач Windows 7.

Учитывая, насколько я люблю говорить о причинах создания новой панели задач, так как я люблю пользовательскую функциональность и простоту использования в общем, я сфокусируюсь на API для использования панели задач. Как разработчик вы должны думать о списках переходов, как о собственной мини-версии меню Start для вашего приложения. Списки переходов открывают доступ к часто используемым назначениям (имя существительное) и задачам (глагол) программы. Это позволяет реализовать простой пользовательский доступ к назначениям, избавляя от необходимости заблаговременно запускать приложение. Следующее изображение показывает, как списки переходов работают в Office Word 2007. Вы можете заметить, что в категории Recent есть список недавних документов, которые я использовал в Office Word. Щелчок по одному из элементов в данном списке запустит Office Word с уже выбранным документом.




Раньше мы отожествляли Word 2007 как пример приложения, которое отлично взаимодействует с панелью задач Windows 7, даже при том, что это приложение было выпущено задолго до того, как появилась панель задач Windows 7. Все кнопки панели задач группируются под одной иконкой панели задач, а список переходов автоматически заполняется недавно использовавшимися документами Word. В следующей статье я подробно расскажу, как заполняются списки переходов. В сегодняшней статье давайте сконцентрируемся на понимании сути списков переходов.

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

Определения из Windows 7 SDK:


Под "назначениями" следует понимать элементы, появляющиеся в категориях "Недавние", "Часто используемые" или индивидуальных категориях (на изображении выше это категория Important). Назначениями могут быть файлы, папки, сайты или любые другие элементы, но не обязательно подкрепленные файлами. Назначения могут быть прикреплены или удалены пользователем из выпадающего списка. Обычно они представлены элементами IShellItem, но также могут быть и объектами IShellLink.

Под "заданиями" следует понимать часто исполняемые в приложении действия, которые доступны всем пользователям приложения независимо от пользовательских шаблонов. Задания могут быть прикреплены или откреплены. Задания представлены объектами IShellLInk, так как фактически являются ссылками, с опциональными параметрами на команду "Actions".

Как разработчики мы можем:

1. Контролировать назначения у приложений (контроль тех элементов, к которым мы хотим обеспечить доступ через список переходов)
Назначением может быть одна из любых известных категорий, например, Recent или Frequent.
Категория Custom точно такая же, как и любая другая категория назначений, но при этом позволяет разработчику самому присваивать ей имя, а также наполнять содержимым.
Категория Pinned рассчитана на прикрепленные элементы, к которым пользователи хотят иметь постоянный доступ в своих выпадающих списках. Пожалуйста, обратите внимание на следующее: только пользователи могут прикреплять элементы выпадающего списка, и нет никакого поддерживаемого программного способа вам как разработчику закрепить элемент в списке.
Вы можете полностью удалить категорию прикрепленных элементов из выпадающего списка, но дважды подумайте о том, хотите ли вы запретить пользователям закреплять элементы в вашем приложении.


2. Определять задания

Панель задача сама по себе предусматривает OOBE-задачи, такие как запуск/закрытие приложений и прикрепление/открепление их от панели задач. Как разработчики мы не можем контролировать задачи панели задач, но можем изменять пользовательские задачи.
Пользовательские задачи - общедоступные задачи, которые разработчик хочет сделать доступными в списке переходов и которые позволят пользователь совершать определенные задачи прямо из спсика переходов. Например, воспроизвести всю музыку из библиотеки, не запуская сам плеер, или запустить другое приложение, например, Internet Explorer, при щелчке на задаче "перейти на домашнюю страницу" в списке Windows Live Messenger, как это показано на следующей картинке. Еще раз: вся вышеуказанная функциональность списков переходов экономит время и сокращает количество щелчков, необходимых для выполнения задачи.




В следующей статье мы углубимся в API списков переходов на панели задач. Но сначала нам необходимо обратится к программной модели панели задач. Панель задач имеет свой набор API, как и любой другой компонент оболочки Windows, доступных через набор COM-интерфейсов. Однако, есть несколько действий, которые мы, разработчики, можем сделать до того, как начать использовать COM API панели задач.


Перевод: Zloy Kak Pё$



Источник
 
Назад
Сверху Снизу