Поделиться через


Обзор визуальных стилей

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

Темы и визуальные стили

Windows включает несколько функций, позволяющих пользователям адаптировать пользовательский интерфейс в соответствии с их индивидуальными потребностями и предпочтениями. К этим функциям относятся темы, которые были представлены в Microsoft Plus! для Windows 95. Тема — это пользовательская коллекция параметров, которая включает в себя фоновые изображения, курсоры, шрифты, звуки и значки. Ниже приведены некоторые характеристики тем.

  • Параметры темы указываются в файлах тем, которые имеют формат, аналогичный win.ini файлам.
  • Независимый поставщик программного обеспечения (ISV) может создавать и распространять файл темы с продуктом.
  • В версиях, предшествующих Windows Vista, файлы тем отображаются на вкладке "Тема" панели управления "Отображение". В Windows Vista и более поздних версиях темы отображаются на панели управления Персонализации.

Дополнительные сведения о файлах тем см. в разделе "Формат файла темы".

Визуальный стиль — это спецификация, которая определяет внешний вид общих элементов управления Windows. Визуальные стили связаны с темами; т. е. файл темы содержит раздел, указывающий визуальный стиль, применяемый при активной теме. Ниже приведены некоторые характеристики визуальных стилей.

  • Пользователи могут изменить визуальный стиль в любое время, выбрав другую тему.
  • Вы должны использовать API визуальных стилей для применения активного визуального стиля к пользовательским или нарисованным владельцем элементам управления приложения, если таковые есть.
  • Сведения, определяющие визуальный стиль, хранятся в msstyles-файле. Корпорация Майкрософт не поддерживает создание msstyles-файлов.

На следующем рисунке показан простое диалоговое окно с панелью задач на рабочем столе Windows 7, использующего тему Windows Aero без прозрачности. Так как приложение не настроено использовать визуальные стили, кнопки отображаются одинаково независимо от параметров темы.

screen shot of a dialog box with buttons that do not use transparency

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

screen shot of a dialog box with buttons that use transparency

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

screen shot of a simple dialog box on the windows 8 desktop

Компоненты визуальных стилей

Визуальные стили поддерживаются следующими компонентами:

  • Версия 6 или более поздняя из общей библиотеки элементов управления (ComCtl32.dll)
  • API визуальных стилей, реализованный в UxTheme.dll
  • Служба тем
  • Один или несколько файлов определения визуального стиля (MSSTYLES)

API визуальных стилей зависит от системной службы с именем Темы. Общая библиотека элементов управления запрашивает службу Тем для получения сведений о стиле, а до Windows 7 использует службу для отрисовки элементов управления в текущем визуальном стиле.

В Windows 8 и более поздних версиях API визуальных стилей по-прежнему работает, если служба тем отключена. Это означает, что общие элементы управления и не клиентская область окон по-прежнему будут иметь визуальные стили при отключении службы тем. К функциям Windows 8, которые по-прежнему требуют службы тем, относятся:

  • Изменение визуального стиля, как правило, на странице персонализации компьютера Параметры.
  • Оптимизация производительности, связанная с переключением пользователей, отключением регистрации, завершением работы и общим доступом между сеансами пользователей.

API визуальных стилей получает сведения о стиле из msstyles-файла, связанного с выбранной темой. Msstyles-файл содержит набор метрик, шрифтов, цветов и растровых изображений, определяющих визуальный стиль.

Требования к приложению для поддержки стилей визуальных элементов

Чтобы использовать визуальные стили, приложение должно работать в операционной системе, содержащей ComCtl32.dll версии 6 или более поздней. Если вы хотите, чтобы приложение использовало ComCtl32.dll версии 6, необходимо добавить манифест приложения или директиву компилятора, чтобы указать, что версия 6 должна использоваться, если она доступна. Сведения о создании манифеста приложения, позволяющего приложению использовать визуальные стили, см. в разделе "Включение визуальных стилей".

Для общих элементов управления дальнейшие действия не требуется, чтобы элементы управления отображались в предпочтительном визуальном стиле пользователя.

Если приложение содержит пользовательские или нарисованные владельцем элементы управления, необходимо использовать API визуальных стилей для получения сведений о активном визуальном стиле, а также для рисования элементов управления в этом стиле.

Для версий Windows до Windows 8 приложения обычно должны предоставлять два отдельных пути кода для рисования пользовательских и нарисованных владельцем элементов управления. Один путь кода рисует элементы управления, когда тема, использующая визуальные стили, активна, а другой путь кода рисует элементы управления, когда классическая тема Windows или тема высокой контрастности активна. Однако в Windows 8 визуальные стили всегда включены, поэтому разделение путей кода не требуется. Приложения, которые манифестируются для Windows 8, получают высокую контрастность тем "бесплатно". Дополнительные сведения см. в разделе "Поддержка тем высокой контрастности".

Дополнительные сведения см. в разделе "Использование визуальных стилей" с пользовательскими и нарисованными элементами управления и справочником по визуальным стилям.

Стили визуальных элементов