WM_NOTIFYFORMAT

【勇芳软件工作室】汉化HomePreviousNext

公共控件,自定义控件及其父窗口使用WM_NOTIFYFORMAT消息来确定控件是否应在控件用于与其父窗口通信的WM_NOTIFY通知消息中使用ANSI或Unicode结构。WM_NOTIFYFORMAT消息从控件发送到其父窗口,并从父窗口发送到控件。

hwndFrom = (HWND) wParam; //发送此消息的窗口的句柄

Command = lParam; //指定此消息的性质的命令值

参数

【中的hwndFrom】

价值【wParam中】.处理发送WM_NOTIFYFORMAT消息的窗口。如果【命令】为NF_QUERY,则【中的hwndFrom】是控件的句柄。如果【命令】是NF_REQUERY,这是控件的父窗口的句柄。

【命令】

【lParam的。】一个指定WM_NOTIFYFORMAT消息性质的命令值。定义了以下值:

含义
NF_QUERY该消息是一个查询,用于确定是否应在WM_NOTIFY消息中使用ANSI或Unicode结构。该命令从控件发送到其父窗口。此命令在创建控件期间发送,并响应于NF_REQUERY命令。
NF_REQUERY该消息是控件向其父窗口发送此消息的NF_QUERY形式的请求。该命令从控件的父窗口发送到控件。父窗口要求控件重新查询WM_NOTIFY消息中要使用的结构类型。

返回值

返回值是以下之一:

含义
NFR_ANSI应在控制台发送的WM_NOTIFY消息中使用ANSI结构。
NFR_UNICODEUnicode结构应该在WM_NOTIFY消息中使用,由控件发送。
0发生错误

如果【命令】是NF_REQUERY,则返回值是重新查询操作的结果。

备注

当创建公共控件时,控件将向其父窗口发送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形式发送到父窗口。

也可以看看

DefDlgProc, DefWindowProc, WM_NOTIFY