WM_NOTIFYFORMAT消息
确定窗口是否接受 WM_NOTIFY 通知消息中的 ANSI 或 Unicode 结构。 WM_NOTIFYFORMAT 消息从公共控件发送到其父窗口,从父窗口发送到公共控件。
参数
-
wParam
-
正在发送WM_NOTIFYFORMAT消息的窗口 的 句柄。 如果 lParam NF_QUERY,则此参数是控件的句柄。 如果 lParam NF_REQUERY,则此参数是控件父窗口的句柄。
-
lParam
-
指定WM_NOTIFYFORMAT消息的性质 的 命令值。 此值为以下值之一:
值 含义 - NF_QUERY
消息是一个查询,用于确定是否应在 WM_NOTIFY 消息中使用 ANSI 或 Unicode 结构。 在创建控件期间以及响应NF_REQUERY命令时,此命令从控件发送到其父窗口。 - NF_REQUERY
消息是控件将此消息的NF_QUERY形式发送到其父窗口的请求。 此命令从父窗口发送。 父窗口要求控件重新查询 WM_NOTIFY消息中使用的 结构类型。 如果 lParam NF_REQUERY,则返回值是重新查询操作的结果。
返回值
返回以下值之一。
返回代码 | 说明 |
---|---|
|
ANSI 结构应用于 WM_NOTIFY 控件发送的消息。 |
|
应在 控件发送WM_NOTIFY 消息中使用 Unicode 结构。 |
|
出现了错误。 |
注解
创建公共控件时,控件会将 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 [仅限桌面应用] |
标头 |
|