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


Параметр высокой контрастности

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

Пользователь управляет настройкой параметра высокой контрастности с помощью Центра специальных возможностей в панель управления или другого приложения для настройки среды. Приложения используют флаги SPI_GETHIGHCONTRAST и SPI_SETHIGHCONTRAST с функцией SystemParametersInfo , чтобы получить и задать параметр высокой контрастности.

Во время инициализации и обработки WM_SYSCOLORCHANGE сообщений приложения должны определять состояние параметра высокой контрастности. Для этого приложения должны вызывать SystemParametersInfo с флагом SPI_GETHIGHCONTRAST , чтобы получить структуру HIGHCONTRAST . Если элемент dwFlags структуры HIGHCONTRAST имеет HCF_HIGHCONTRASTON бит, то включена функция высокой контрастности, и приложения должны выполнять следующие действия:

  • Сопоставьте все цвета с одной парой цветов переднего плана и фона. Используйте функцию GetSysColor , чтобы определить подходящие цвета переднего плана и фона, используя сочетание COLOR_WINDOWTEXT и COLOR_WINDOW или сочетание COLOR_BTNTEXT и COLOR_BTNFACE. Функция GetSysColor возвращает цвета, выбранные пользователем с помощью панель управления.
  • Опустите все растровые изображения, которые обычно отображаются за текстом. Такие изображения визуально отвлекают пользователя, которому требуется высокая контрастность.
  • Изображения, которые обычно рисуются в нескольких цветах, должны быть нарисованы с использованием цветов переднего плана и фона, выбранных для текста.

Кроме того, приложения используют флаги SPI_GETDISABLEOVERLAPPEDCONTENT и SPI_SETDISABLEOVERLAPPEDCONTENT с функцией SystemParametersInfo для получения и задания параметра перекрываемого содержимого. Такие функции, как фоновые изображения, текстурированные фоны, водяные знаки в документах, альфа-смешение и прозрачность, могут уменьшить контрастность переднего плана и фона, что усложняет пользователям со слабым зрением видеть объекты на экране. Этот флаг позволяет приложениям определить, было ли отключено такое перекрывающееся содержимое.