高对比度参数

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

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

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

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

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