高对比度参数

高对比度参数指示用户是否希望在用于前景视觉对象和背景视觉对象的颜色之间形成高对比度。

用户通过使用控制面板中的“轻松访问中心”或其他应用程序自定义环境来控制高对比度参数的设置。 应用程序使用具有 SystemParametersInfo 函数的 SPI_GETHIGHCONTRASTSPI_SETHIGHCONTRAST 标志来获取和设置高对比度参数。

在初始化期间和处理 WM_SYSCOLORCHANGE 消息时,应用程序应确定高对比度参数的状态。 若要做出此决定,应用程序应使用 SPI_GETHIGHCONTRAST 标志调用 SystemParametersInfo 以获取 HIGHCONTRAST 结构。 如果 HIGHCONTRAST 结构的 dwFlags 成员设置了 HCF_HIGHCONTRASTON 位,则启用高对比度功能,应用程序应执行以下作:

  • 将所有颜色映射到一对前景色和背景色。 使用 GetSysColor 函数通过 COLOR_WINDOWTEXTCOLOR_WINDOW 的组合或 COLOR_BTNTEXTCOLOR_BTNFACE的组合来确定适当的前景和背景色。 GetSysColor 函数通过控制面板返回用户选择的颜色。
  • 省略通常显示在文本后面的任何位图图像。 此类图像在视觉上分散注意力,用户需要高对比度。
  • 通常以多种颜色绘制的图像应使用为文本选择的前景色和背景色进行绘制。

此外,应用程序使用 SystemParametersInfo 函数的 SPI_GETDISABLEOVERLAPPEDCONTENTSPI_SETDISABLEOVERLAPPEDCONTENT 标志来获取和设置重叠的内容参数。 显示背景图像、纹理背景、文档上的水印、alpha 混合和透明度等功能可以减少前台和背景之间的对比度,使低视力的用户难以在屏幕上看到对象。 此标志使应用程序能够确定是否已禁用此类重叠内容