HIGHCONTRASTW 结构 (winuser.h)

包含有关高对比度辅助功能的信息。此功能设置用户界面的外观方案,以最大程度地提高视觉受损用户的可见性,并建议应用程序遵守此外观方案。

语法

typedef struct tagHIGHCONTRASTW {
  UINT   cbSize;
  DWORD  dwFlags;
  LPWSTR lpszDefaultScheme;
} HIGHCONTRASTW, *LPHIGHCONTRASTW;

成员

cbSize

类型:UINT

指定此结构的大小(以字节为单位)。

dwFlags

类型:DWORD

指定以下值的组合:

价值 意义
HCF_HIGHCONTRASTON
0x00000001
高对比度功能已打开。
HCF_AVAILABLE
0x00000002
高对比度功能可用。
HCF_HOTKEYACTIVE
0x00000004
用户可以通过同时按左 Alt、左 SHIFT 和 PRINT SCREEN 键来打开和关闭高对比度功能。
HCF_CONFIRMHOTKEY
0x00000008
使用热键激活高对比度功能时,将显示一个确认对话框。
HCF_HOTKEYSOUND
0x00000010
当用户使用热键打开或关闭高对比度功能时,将播放警笛。
HCF_INDICATOR
0x00000020
当高对比度功能处于打开时,将显示视觉指示器。 此值当前未使用,将被忽略。
HCF_HOTKEYAVAILABLE
0x00000040
可以启用与高对比度功能关联的热键。 应用程序可以检索此值,但无法设置该值。
HCF_OPTION_NOTHEMECHANGE
0x00001000

在对 SystemParametersInfoW 的调用中传递 HIGHCONTRASTSTRUCTURE 可能会导致主题更改效果,即使主题未更改也是如此。 例如,即使唯一的更改是HCF_HOTKEYSOUND,WM_THEMECHANGED消息也会发送到 Windows。

若要防止出现这种情况,请在对 SystemParametersInfo 的调用中包含HCF_OPTION_NOTHEMECHANGE标志。

注意

切换高对比度模式时不应使用HCF_OPTION_NOTHEMECHANGE标志(HCF_HIGHCONTRASTON)。

HCF_OPTION_NOTHEMECHANGE
0x00001000

在对 SystemParametersInfoW 的调用中传递 HIGHCONTRASTSTRUCTURE 可能会导致主题更改效果,即使主题未更改也是如此。 例如,即使唯一的更改是HCF_HOTKEYSOUND,WM_THEMECHANGED消息也会发送到 Windows。

若要防止出现这种情况,请在对 SystemParametersInfo 的调用中包含HCF_OPTION_NOTHEMECHANGE标志。

注意

切换高对比度模式时不应使用HCF_OPTION_NOTHEMECHANGE标志(HCF_HIGHCONTRASTON)。

lpszDefaultScheme

类型:LPTSTR

指向一个字符串,其中包含将设置为默认方案的配色方案的名称。 系统分配此缓冲区,使用 LocalFree 释放该缓冲区。

言论

应用程序使用 SPI_GETHIGHCONTRASTSPI_SETHIGHCONTRAST 值调用 SystemParametersInfoW 函数 时使用此结构。 使用 SPI_GETHIGHCONTRAST时,应用程序必须指定 HIGHCONTRAST 结构的 cbSize 成员;SystemParametersInfo 函数将填充其余成员。 使用 SPI_SETHIGHCONTRAST 值时,应用程序必须指定所有结构成员。

注意

winuser.h 标头将 HIGHCONTRAST 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows 2000 Professional [仅限桌面应用]
支持的最低服务器 Windows 2000 Server [仅限桌面应用]
标头 winuser.h (包括 Windows.h)

另请参阅

SystemParametersInfoW 函数HIGHCONTRASTA 结构辅助功能结构SystemParametersInfo