アークピットのホームページに戻る

WinAPIトピックのトップページに戻る

APIトピックの各章に移動する

ダウンロードのページに移動する
ダウンロードができ
ない場合の対処法
 

ページ移動

2-2-12. ユーザがシステムカラーの配色を変更した

 コントロールパネルの画面コマンドを実行すると、「画面のプロパティ」ダイアログボックスを表示します。この中に、[デザイン]タブがあり、ウィンドウやデスクトップの大部分の配色を変更することができます。しかもそれは、アプリケーションにとっては突然発生します。

WM_SYSCOLORCHANGE メッセージが発生

 よってアプリケーション側でそれに対処しなければいけません。ウィンドウやデスクトップの配色を変更すると、システムは、WM_SYSCOLORCHANGE メッセージを発行します。ただしアプリケーションのトップウィンドウにしか発行しません。アプリケーションでは、このメッセージを受けて対処します。

WM_SYSCOLORCHANGE メッセージのコード例

 WM_SYSCOLORCHANGE メッセージに対処するコード例を以下に示します。
    // システムカラー情報をユーザが変更した
    case WM_SYSCOLORCHANGE:
        InvalidateRect(hWnd,NULL,TRUE);
        return 0L;
 処理は簡単です。メインウィンドウの更新リージョンに全ウィンドウを追加します。更新リージョンとは、 ウィンドウのクライアント領域のうち、 再描画しなければならない部分です。この処理で、システムがウィンドウを再描画します。

ページ移動