|
|
|
2-2-12. ユーザがシステムカラーの配色を変更したコントロールパネルの画面コマンドを実行すると、「画面のプロパティ」ダイアログボックスを表示します。この中に、[デザイン]タブがあり、ウィンドウやデスクトップの大部分の配色を変更することができます。しかもそれは、アプリケーションにとっては突然発生します。WM_SYSCOLORCHANGE メッセージが発生 よってアプリケーション側でそれに対処しなければいけません。ウィンドウやデスクトップの配色を変更すると、システムは、WM_SYSCOLORCHANGE メッセージを発行します。ただしアプリケーションのトップウィンドウにしか発行しません。アプリケーションでは、このメッセージを受けて対処します。WM_SYSCOLORCHANGE メッセージのコード例 WM_SYSCOLORCHANGE メッセージに対処するコード例を以下に示します。 // システムカラー情報をユーザが変更した
case WM_SYSCOLORCHANGE:
InvalidateRect(hWnd,NULL,TRUE);
return 0L;
処理は簡単です。メインウィンドウの更新リージョンに全ウィンドウを追加します。更新リージョンとは、 ウィンドウのクライアント領域のうち、 再描画しなければならない部分です。この処理で、システムがウィンドウを再描画します。
|