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 |
|