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