WM_CTLCOLORDLG メッセージ

システムがダイアログ ボックスを描画する前に、ダイアログ ボックスに送信されます。 このメッセージに応答することで、ダイアログ ボックスは、指定されたディスプレイ デバイス コンテキスト ハンドルを使用して、テキストと背景色を設定できます。

#define WM_CTLCOLORDLG                  0x0136

パラメーター

wParam

ダイアログ ボックスのデバイス コンテキストへのハンドル。

lParam

ダイアログ ボックスを識別するハンドル。

戻り値

アプリケーションがこのメッセージを処理する場合は、ブラシへのハンドルを返す必要があります。 システムは、ブラシを使用してダイアログ ボックスの背景を描画します。

解説

既定では、 DefWindowProc 関数はダイアログ ボックスの既定のシステム 色を選択します。

システムは、返されたブラシを自動的に破棄しません。 不要になったブラシを破棄するのはアプリケーションの責任です。

WM_CTLCOLORDLG メッセージはスレッド間で送信されません。 1 つのスレッド内でのみ送信されます。

WM_CTLCOLORDLG メッセージはダイアログ ボックス自体に送信されることに注意してください。他のすべてのWM_CTLCOLOR* メッセージは、コントロールの所有者に送信されます。

ダイアログ ボックス プロシージャがこのメッセージを処理する場合は、目的の戻り値を INT_PTR にキャストし、値を直接返す必要があります。 ダイアログ ボックス プロシージャが FALSE を返す場合は、既定のメッセージ処理が実行されます。 SetWindowLong 関数によって設定されたDWL_MSGRESULT値は無視されます。

必要条件

要件
サポートされている最小のクライアント
Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー
Winuser.h (Windows.h を含む)

関連項目

参照

DefWindowProc

SetWindowLong

概念

ダイアログ ボックス

その他のリソース

RealizePalette

SelectPalette