ハイ コントラスト パラメーター
ハイ コントラスト パラメーターは、ユーザーが前景と背景のビジュアルに使用される色のハイ コントラストを必要とするかどうかを示します。
ユーザーは、コントロール パネルの [簡単操作センター] または環境をカスタマイズするための別のアプリケーションを使用して、ハイ コントラスト パラメーターの設定を制御します。 アプリケーションは、SystemParametersInfo 関数と共に SPI_GETHIGHCONTRAST フラグと SPI_SETHIGHCONTRAST フラグを使用して、ハイ コントラスト パラメーターを取得および設定します。
初期化中および WM_SYSCOLORCHANGE メッセージの処理時に、アプリケーションはハイ コントラスト パラメーターの状態を決定する必要があります。 この決定を行うには、アプリケーションで SPI_GETHIGHCONTRAST フラグ systemParametersInfo を呼び出して、HIGHCONTRAST 構造体を取得する必要があります。 dwFlagsHIGHCONTRAST 構造体のメンバーに HCF_HIGHCONTRASTON ビットが設定されている場合、ハイ コントラスト機能が有効になり、アプリケーションは次の操作を行う必要があります。
- すべての色を 1 組の前景色と背景色にマップします。 GetSysColor 関数を使用して、COLOR_WINDOWTEXT と COLOR_WINDOW の組み合わせ、または COLOR_BTNTEXT と COLOR_BTNFACEの組み合わせを使用して、適切な前景色と背景色を決定します。 GetSysColor 関数は、コントロール パネルを通じてユーザーが選択した色を返します。
- 通常、テキストの背後に表示されるビットマップイメージは省略します。 このような画像は、ハイ コントラストを必要とするユーザーに視覚的に気が散ります。
- 通常、複数の色で描画される画像は、テキスト用に選択された前景色と背景色を使用して描画する必要があります。
また、アプリケーションでは、SystemParametersInfo 関数と共に SPI_GETDISABLEOVERLAPPEDCONTENT フラグと SPI_SETDISABLEOVERLAPPEDCONTENT フラグを使用して、重複するコンテンツ パラメーターを取得および設定します。 背景画像、テクスチャ付き背景、ドキュメント上のウォーター マーク、アルファ ブレンド、透明度などの機能を表示すると、前景と背景のコントラストが低下し、視覚の弱いユーザーが画面にオブジェクトを表示しにくくなります。 このフラグを使用すると、アプリケーションは、このような重複するコンテンツが無効になっているかどうかを判断できます