Расширения панели задач
В Windows 7 панель задач была значительно расширена в соответствии с руководящим принципом получения пользователей, где они идут как можно быстрее и эффективнее. С этой целью окна приложения, файлы и команды, которые необходимо выполнить пользователю, теперь централизованы в единой кнопке панели задач, которая объединяет ранее разрозненные источники информации и элементы управления. Теперь пользователь может находить общие задачи, последние и частые файлы, оповещения, уведомления о ходе выполнения и эскизы для отдельных документов или вкладок в одном месте.
- Единый запуск и переключение
- Списки переходов
- Места назначения
- Задачи
- Настройка списков переходов
- Панели инструментов эскизов
- Наложения значков
- Индикаторы выполнения
- Повязки на столе
- Область "Уведомления"
- Эскизы страниц
- Связанные темы
Единый запуск и переключение
На панели задач Windows 7 панель быстрого запуска больше не является отдельной панелью инструментов. Ярлыки средства запуска, которые обычно содержатся в панели быстрого запуска, теперь закреплены на самой панели задач, смешавшись с кнопками для запущенных в настоящее время приложений. Когда пользователь запускает приложение с помощью закрепленного ярлыка средства запуска, значок преобразуется в кнопку панели задач приложения до тех пор, пока приложение запущено. Когда пользователь закрывает приложение, кнопка возвращается к значку. Однако ярлык средства запуска и кнопка для запущенного приложения — это разные формы кнопки панели задач Windows 7.
Небольшой набор приложений закреплен по умолчанию для новых установок. Кроме этих, только пользователь может закреплять дальнейшие приложения; Программная закрепление приложением не допускается.
Функция "Показать рабочий стол" из панели быстрого запуска теперь находится на панели задач справа. При наведении указателя мыши на эту область все активные окна становятся прозрачными, отображая рабочий стол. Щелкнув область, выполняется знакомое действие по минимизации всех окон и переключение на рабочий стол.
Во время работы приложения его кнопка панели задач становится единым местом для доступа ко всем следующим функциям, которые подробно рассматриваются ниже.
- Задачи: распространенные команды приложения, представленные даже в том случае, если приложение не выполняется.
- Назначения: недавно и часто используемые файлы, относящиеся к приложению.
- Эскизы: переключение окон, включая переключение целевых объектов для отдельных вкладок и документов.
- Панели инструментов эскизов: базовый элемент управления приложениями из самого эскиза.
- Индикаторы выполнения и наложения значков: уведомления о состоянии.
Кнопка панели задач может представлять средство запуска, одно окно приложения или группу. Идентификатор, известный как идентификатор модели пользователя приложения (AppUserModelID), назначается каждой группе. AppUserModelID можно указать для переопределения стандартной группы на панели задач, что позволяет окнам стать членами одной группы, если они не могут рассматриваться как таковые. Каждому члену группы предоставляется отдельный предварительный просмотр во всплывающем элементе эскиза, который отображается при наведении указателя мыши на кнопку панели задач группы. Обратите внимание, что само группирование остается необязательным.
В Windows 7 кнопки панели задач теперь могут быть переупорядочены пользователем с помощью операций перетаскивания.
Примечание
Папка быстрого запуска (FOLDERID_QuickLaunch) по-прежнему доступна для обеспечения обратной совместимости, хотя в ней больше нет пользовательского интерфейса быстрого запуска. Однако новые приложения не должны запрашивать добавление значка в быстрый запуск во время установки.
Дополнительные сведения см. в разделе Идентификаторы пользовательских моделей приложений (AppUserModelID).
Списки переходов
Обычно пользователь запускает программу с целью доступа к документу или выполнения задач в рамках программы. Пользователь игровой программы может захотеть получить сохраненную игру или запустить как определенного персонажа, а не перезапускать игру с самого начала. Чтобы пользователи более эффективно соответствовали их конечной цели, список назначений и распространенныхзадач , связанных с приложением, присоединяется к кнопке этого приложения на панели задач (а также к аналогичной записи меню "Пуск "). Это список переходов приложения. Список переходов доступен независимо от того, находится ли кнопка панели задач в состоянии средства запуска (приложение не запущено) или представляет одно или несколько окон. При щелчке правой кнопки панели задач отображается список переходов приложения, как показано на следующем рисунке.
По умолчанию стандартный список переходов содержит две категории: последние элементы и закрепленные элементы, хотя, поскольку в пользовательском интерфейсе отображаются только категории с содержимым, ни одна из этих категорий не отображается при первом запуске. Всегда присутствуют значок запуска приложения (для запуска дополнительных экземпляров приложения), параметр для закрепления или открепки приложения на панели задач и команда Закрыть для любых открытых окон.
Места назначения
Категории Последние и Частые считаются содержащими назначения. Назначение, обычно файл, документ или URL-адрес, — это то, что можно редактировать, просматривать, просматривать и т. д. Думайте о назначении как о вещи, а не как о действии. Как правило, назначением является элемент в пространстве имен оболочки, представленный IShellItem или IShellLink. Эти части списка назначения аналогичны списку недавно использовавшихся документов меню "Пуск " (по умолчанию больше не отображается) и часто используемым списком приложений, но они относятся к конкретному приложению и поэтому более точны и полезны для пользователя. Результаты, используемые в целевом списке, вычисляются с помощью вызовов SHAddToRecentDocs. Обратите внимание, что когда пользователь открывает файл из Windows Обозреватель или использует диалоговое окно общего файла для открытия, сохранения или создания файла, shAddToRecentDocs вызывается автоматически, что приводит к тому, что многие приложения получают последние элементы, отображаемые в целевом списке без каких-либо действий с их стороны.
Запуск назначения во многом похож на запуск элемента с помощью команды Открыть с помощью. Приложение запускается с загруженным назначением и готовым к использованию. Элементы в целевом списке также можно перетаскивать из списка в место назначения, например в сообщение электронной почты. Благодаря централизации этих элементов в целевом списке пользователи получают куда они хотят идти гораздо быстрее, что и является целью.
Поскольку элементы отображаются в категории Последние (или категории "Часто" или пользовательской категории , как описано в следующем разделе), пользователю может потребоваться, чтобы элемент всегда был в списке для быстрого доступа. Для этого он может закрепить этот элемент в списке, который добавляет его в категорию Закрепленные . Когда пользователь активно работает с назначением, он хочет, чтобы оно было легко под рукой, и поэтому закрепит его в списке назначения приложения. После завершения работы пользователя он просто открепить элемент. Этот пользовательский элемент управления сохраняет список незагроможденных и релевантных.
Список назначения можно рассматривать как версию меню "Пуск " для конкретного приложения. Список назначения не является контекстным меню. Каждый элемент в целевом списке можно щелкнуть правой кнопкой мыши для собственного контекстного меню.
Программные интерфейсы
- IApplicationDestinations::RemoveDestination
- IApplicationDestinations::RemoveAllDestinations
- IApplicationDocumentLists::GetList
- SHAddToRecentDocs
Задания
Еще одной встроенной частью списка переходов является категория Задачи . В то время как назначение — это вещь, задача — это действие, и в данном случае это действие, зависящее от приложения. Другими словами, назначение является существительным, а задача — глаголом. Как правило, задачи представляют собой элементы IShellLink с аргументами командной строки, которые указывают на определенные функциональные возможности, которые могут быть запущены приложением. Опять же, идея заключается в том, чтобы централизировать столько сведений, связанных с приложением, сколько это целесообразно.
Приложения определяют задачи на основе функций программы и основных задач, которые пользователь должен выполнять с ними. Задачи должны быть без контекста, так как приложение не должно выполняться, чтобы они работали. Они также должны быть статистически наиболее распространенными действиями, которые обычный пользователь будет выполнять в приложении, например создание сообщения электронной почты или открытие календаря в почтовой программе, создание нового документа в текстовом процессоре, запуск приложения в определенном режиме или запуск одной из его подкоманд. Приложение не должно загромождать меню дополнительными функциями, которые не потребуются обычным пользователям, или одноразовыми действиями, такими как регистрация. Не используйте задачи для рекламных материалов, таких как обновления или специальные предложения.
Настоятельно рекомендуется, чтобы список задач был статическим. Он должен оставаться неизменным независимо от состояния или состояния приложения. Хотя можно динамически изменять список, следует учитывать, что это может запутать пользователя, который не ожидает изменения этой части списка назначения.
Программные интерфейсы
Настройка списков переходов
Приложение может определить собственные категории и добавить их в дополнение к стандартным категориям Recent и Frequent в списке переходов или вместо них. Приложение может управлять своими назначениями в этих настраиваемых категориях на основе архитектуры приложения и предполагаемого использования. На следующем снимке экрана показан настраиваемый список переходов с категорией Журнал.
Если приложение решит предоставить пользовательскую категорию, оно берет на себя ответственность за ее заполнение. Содержимое категории по-прежнему должно зависеть от пользователя и основываться на журнале пользователей, действиях или и том, и на том, и на основе пользовательской категории приложение может определить, что оно хочет отслеживать и что оно хочет игнорировать, возможно, на основе параметра приложения. Например, аудиопрограмма может включать только недавно воспроизведенные альбомы и игнорировать недавно воспроизведенные отдельные треки.
Если пользователь удалил элемент из списка, который всегда является пользовательским вариантом, приложение должно учитывать это. Приложение также должно убедиться, что элементы в списке являются допустимыми или что они корректно завершаются ошибкой, если они были удалены. Отдельные элементы или все содержимое списка можно удалить программным способом.
Максимальное количество элементов в целевом списке определяется системой на основе различных факторов, таких как разрешение экрана и размер шрифта. Если места недостаточно для всех элементов во всех категориях, они усекаются снизу вверх.
Программные интерфейсы
Панели инструментов эскизов
Чтобы предоставить доступ к ключевым командам определенного окна, не выполняя восстановление или активацию окна приложения, в предварительный просмотр эскизов этого окна можно внедрить активный элемент управления панели инструментов. Например, Медиаплеер Windows могут предлагать стандартные элементы управления транспортировкой мультимедиа, такие как воспроизведение, приостановка, отключение звука и остановка. В пользовательском интерфейсе эта панель инструментов отображается непосредственно под эскизом, как показано на следующем рисунке. Она не охватывает ни одну из ее частей.
Эта панель инструментов является просто привычным стандартным элементом управления панели инструментов. Он содержит не более семи кнопок. Идентификатор, изображение, подсказка и состояние каждой кнопки определяются в структуре, которая затем передается на панель задач. Приложение может отображать, включать, отключать или скрывать кнопки на панели инструментов эскизов в соответствии с текущим состоянием.
Так как есть ограниченное пространство для отображения эскизов и переменное количество эскизов для отображения, приложениям не гарантируется заданный размер панели инструментов. Если пространство ограничено, кнопки на панели инструментов усекаются справа налево. Таким образом, при проектировании панели инструментов следует определить приоритеты команд, связанных с кнопками, и убедиться, что наиболее важные из них являются первыми и, скорее всего, будут удалены из-за проблем с пространством.
Примечание
Когда приложение отображает окно, его кнопка панели задач создается системой. Когда кнопка на месте, панель задач отправляет в окно сообщение TaskbarButtonCreated . Его значение вычисляется путем вызова RegisterWindowMessage(L("TaskbarButtonCreated")). Это сообщение должно быть получено приложением перед вызовом любого метода ITaskbarList3 .
API
- ITaskbarList3::ThumbBarAddButtons
- ITaskbarList3::ThumbBarSetImageList
- ITaskbarList3::ThumbBarUpdateButtons
- ПАЛЬЦЕМ
Наложения значков
Приложение может передавать определенные уведомления и состояние пользователю с помощью кнопки панели задач, отображая небольшие наложения на кнопке. Эти наложения похожи на существующие наложения, используемые для ярлыков или уведомлений системы безопасности, которые отображаются в правом нижнем углу кнопки. Чтобы отобразить значок наложения, панель задач должна находиться в режиме большого значка по умолчанию, как показано на следующем снимке экрана.
Наложения значков служат контекстным уведомлением о состоянии и предназначены для отмены необходимости отдельного значка состояния области уведомлений для передачи этой информации пользователю. Например, новое состояние почты в Microsoft Outlook, отображаемое в настоящее время в области уведомлений, теперь можно указать с помощью наложения на кнопке панели задач. Опять же, во время цикла разработки необходимо решить, какой метод лучше всего подходит для вашего приложения. Значки наложения предназначены для предоставления важных, давних состояний или уведомлений, таких как состояние сети, состояние messenger или новая почта. Пользователю не следует представлять постоянно изменяющиеся наложения или анимации.
Так как одно наложение накладывается на кнопку панели задач, а не на эскизы отдельных окон, это функция для каждой группы, а не для каждого окна. Запросы на значки наложения можно получать из отдельных окон в группе панели задач, но они не помещаются в очередь. Последнее полученное наложение — показанное наложение.
Программные интерфейсы
Индикаторы выполнения
Для отображения индикатора выполнения можно использовать кнопку панели задач. Это позволяет окну предоставлять пользователю сведения о ходе выполнения без необходимости переключаться на само окно. Пользователь может оставаться продуктивным в другом приложении, быстро видя ход выполнения одной или нескольких операций, выполняемых в других окнах. Предполагается, что индикатор выполнения на кнопке панели задач отражает более подробный индикатор хода выполнения в самом окне. Эту функцию можно использовать для отслеживания копий файлов, загрузки, установки, записи мультимедиа или любой операции, которая займет некоторое время. Эта функция не предназначена для использования с обычными периферийными действиями, такими как загрузка веб-страницы или печать документа. Этот тип хода выполнения должен по-прежнему отображаться в строке состояния окна.
Индикатор выполнения кнопки панели задач похож на привычный элемент управления Индикатор выполнения. Он может отображать либо определенный ход выполнения на основе завершенной доли операции, либо неопределенный ход выполнения в стиле области, чтобы указать, что операция выполняется без прогнозирования оставшегося времени. Он также может показать, что операция приостановлена или возникла ошибка и требует вмешательства пользователя.
Программные интерфейсы
Повязки на столе
В версиях Windows, предшествующих Windows 7, что-то похожее на функции панели инструментов эскизов можно достичь с помощью панели инструментов, размещенной на панели задач. Например, Медиаплеер Windows можно свести к панели задач в виде набора элементов управления транспортировкой, а не стандартной кнопки. В Windows 7 по-прежнему можно реализовать полоски на столе, а панели инструментов эскизов не предназначены для замены всех. Не все приложения будут доступны на панели инструментов эскизов, и другое решение, например полоса стола или задача в списке назначения, может быть правильным решением для вашего приложения; Вы должны решить, какое решение лучше всего подходит для вашего приложения в рамках цикла разработки. Однако имейте в виду, что стойки должны поддерживать Windows Aero с включенной прозрачной ("стекло") и интерфейсом IDeskBand2 .
Программные интерфейсы
Область "Уведомления"
В области уведомлений были внесены изменения, которые позволяют пользователю гораздо больше контролировать, какие значки отображаются на панели задач. Все значки уведомлений теперь скрыты по умолчанию, и их видимость нельзя контролировать программными средствами. Только пользователю разрешено выбирать, какие значки уведомлений отображаются на панели задач. При отображении всплывающего уведомления значок становится временно видимым, но даже в этом случае пользователь может отключить его. Поэтому наложение значка на кнопке панели задач становится привлекательным выбором, если вы хотите, чтобы приложение сообщал эти сведения пользователям.
Эскизы
В Windows Vista при наведении указателя мыши на кнопку панели задач приложения отображается эскиз, представляющий работающее окно. Если на панели задач свернуты окна приложения, эскиз представляет это в виде стека, но в самом эскизе отображается только активное окно.
В Windows 7 каждый член группы отображается в виде отдельного эскиза и теперь также является целевым объектом переключения. Приложение может определять свои дочерние элементы (например, истинные дочерние окна, отдельные документы или вкладки) и предоставлять соответствующие эскизы для каждого из этих окон, даже если они обычно не отображаются на панели задач. Это позволяет пользователям переключаться непосредственно в нужное представление приложения, а не переключаться в приложение, а затем переключаться к месту назначения. Например, приложения с несколькими документами (MDI)/tabbed-document interface (TDI) могут отображать каждый документ или вкладку в виде отдельного эскиза и переключать целевой объект при наведении указателя мыши на кнопку панели задач группы.
Примечание
Как и в Windows Vista, aero должна быть активной для просмотра эскизов.
API
- ITaskbarList3::RegisterTab
- ITaskbarList3::SetTabActive
- ITaskbarList3::SetTabOrder
- ITaskbarList3::UnregisterTab
- ITaskbarList4::SetTabProperties
Представления эскизов для окон обычно выполняются автоматически, но в случаях, когда результат не является оптимальным, можно явно указать эскиз. По умолчанию для них автоматически создаются эскизы только для окон верхнего уровня, а эскизы для дочерних окон отображаются в виде универсального представления. Это может привести к не идеальному (и даже запутан) интерфейсу для конечного пользователя. Например, конкретный эскиз целевого коммутатора для каждого дочернего окна обеспечивает гораздо более удобный пользовательский интерфейс.
API
- DwmSetWindowAttribute
- DwmSetIconicThumbnail
- DwmSetIconicLivePreviewBitmap
- DwmInvalidateIconicBitmaps
- WM_DWMSENDICONICTHUMBNAIL
- WM_DWMSENDICONICLIVEPREVIEWBITMAP
Вы можете выбрать определенную область окна для использования в качестве эскиза. Это может быть полезно, если приложение знает, что его документы или вкладки будут отображаться похожими при просмотре в размере эскиза. Затем приложение может отобразить только ту часть клиентской области, которую пользователь может использовать для различения эскизов. Однако при наведении курсора на любой эскиз открывается представление полного окна за ним, что позволяет пользователю быстро просматривать их.
Если эскизов больше, чем может быть отображено, предварительный просмотр возвращается к устаревшей версии эскиза или стандартному значку.
API
Чтобы добавить закрепить на панели задач в контекстное меню элемента, которое обычно требуется только для типов файлов, включающих запись IsShortCut , необходимо зарегистрировать соответствующий обработчик контекстного меню. Это также относится к закреплению в меню "Пуск". Дополнительные сведения см. в разделе Регистрация обработчиков расширений оболочки .
Связанные темы