WM_NOTIFYFORMAT メッセージ
ウィンドウが WM_NOTIFY通知メッセージ で ANSI または Unicode の構造体を受け入れるかどうかを判断します。 WM_NOTIFYFORMAT メッセージは、共通コントロールから親ウィンドウ、および親ウィンドウから共通コントロールに送信されます。
パラメーター
-
wParam
-
WM_NOTIFYFORMAT メッセージを送信しているウィンドウへのハンドル。 lParam がNF_QUERYの場合、このパラメーターはコントロールへのハンドルです。 lParam がNF_REQUERYの場合、このパラメーターはコントロールの親ウィンドウへのハンドルです。
-
lParam
-
WM_NOTIFYFORMAT メッセージの性質を指定するコマンド値。 これは、次のいずれかの値になります。
値 意味 - NF_QUERY
このメッセージは、メッセージで ANSI 構造体と Unicode 構造体のどちらを使用するかを判断 WM_NOTIFY クエリです。 このコマンドは、コントロールの作成時およびNF_REQUERY コマンドへの応答として、コントロールから親ウィンドウに送信されます。 - NF_REQUERY
メッセージは、このメッセージのNF_QUERY形式を親ウィンドウに送信するコントロールの要求です。 このコマンドは、親ウィンドウから送信されます。 親ウィンドウは 、WM_NOTIFY メッセージ で使用する構造体の種類についてコントロールに再クエリを求めます。 lParam がNF_REQUERYの場合、戻り値は再クエリ操作の結果になります。
戻り値
次のいずれかの値を返します。
| リターン コード | 説明 |
|---|---|
|
ANSI 構造体は、コントロールによって送信 されるメッセージWM_NOTIFY で使用する必要があります。 |
|
Unicode 構造体は、コントロールによって送信 されるメッセージWM_NOTIFY で使用する必要があります。 |
|
エラーが発生しました。 |
解説
共通コントロールが作成されると、コントロールは WM_NOTIFYFORMAT メッセージを親ウィンドウに送信して、WM_NOTIFY メッセージで使用する構造体の種類 を 決定します。 親ウィンドウがこのメッセージを処理しない場合、 DefWindowProc 関数は親ウィンドウの種類に従って応答します。 つまり、親ウィンドウが Unicode ウィンドウの場合、 DefWindowProc はNFR_UNICODEを返し、親ウィンドウが ANSI ウィンドウの場合、 DefWindowProc はNFR_ANSIを返します。 親ウィンドウがダイアログ ボックスであり、このメッセージを処理しない場合、 DefDlgProc 関数も同様にダイアログ ボックスの種類 (Unicode または ANSI) に従って応答します。
親ウィンドウでは、lParam を NF_REQUERY に設定し、WM_NOTIFYFORMAT メッセージをコントロールに送信することで、WM_NOTIFY メッセージで一般的なコントロールが使用する構造体の種類を変更できます。 これにより、コントロールはWM_NOTIFYFORMAT メッセージの NF_QUERY 形式を親ウィンドウに送信します。
すべての一般的なコントロールは、 WM_NOTIFYFORMATメッセージを 送信します。 ただし、標準のWindows コントロール (エディット コントロール、コンボ ボックス、リスト ボックス、ボタン、スクロール バー、静的コントロール) は使用しません。
要件
| 要件 | 値 |
|---|---|
| サポートされている最小のクライアント |
Windows Vista [デスクトップ アプリのみ] |
| サポートされている最小のサーバー |
Windows Server 2003 [デスクトップ アプリのみ] |
| Header |
|