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場合、戻り値は再クエリ操作の結果になります。

戻り値

次のいずれかの値を返します。

リターン コード 説明
NFR_ANSI
ANSI 構造体は、コントロールによって送信 WM_NOTIFY メッセージで使用する必要があります。
NFR_UNICODE
Unicode 構造体は、コントロールによって送信 WM_NOTIFY メッセージで使用する必要があります。
0
エラーが発生しました。

解説

共通コントロールが作成されると、コントロールは 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
Winuser.h