WM_NOTIFYFORMAT
Common
controls, custom controls, and their parent windows use the WM_NOTIFYFORMAT
message to determine whether the control should use ANSI or Unicode structures
in the WM_NOTIFY
notification messages that the control uses to communicate with its parent
window. WM_NOTIFYFORMAT messages are sent from a control to its parent window,
and from the parent window to the control.
hwndFrom = (HWND) wParam; // handle of the window sending this
message
Command =
lParam; // command
value specifying the nature of this message
Parameters
hwndFrom
Value of wParam.
Handle of the window that is sending the WM_NOTIFYFORMAT message. If Command
is NF_QUERY, hwndFrom is the handle of a control. If Command is
NF_REQUERY, this is the handle of the parent window of a control.
Command
Value of lParam.
A command value that specifies the nature of the WM_NOTIFYFORMAT message.
The following values are defined:
|
Value |
Meaning |
|
NF_QUERY |
The message
is a query to determine whether ANSI or Unicode structures should be used in WM_NOTIFY messages. This command is
sent from a control to its parent window. This command is sent during the
creation of a control, and in response to an NF_REQUERY command. |
|
NF_REQUERY |
The message
is a request that a control send an NF_QUERY form of this message to its
parent window. This command is sent from a control s parent window to the
control. The parent window is asking the control to requery it about the type
of structures to use in WM_NOTIFY messages. |
Return Values
The return
value is one of the following :
|
Value |
Meaning |
|
NFR_ANSI |
ANSI
structures should be used in WM_NOTIFY messages sent by the control. |
|
NFR_UNICODE |
Unicode
structures should be used in WM_NOTIFY messages sent by the control. |
|
0 |
An error
occurred. |
If Command
is NF_REQUERY, the return value is the result of the requery operation.
Remarks
When a common
control is created, the control sends a WM_NOTIFYFORMAT message to its parent
window to determine the type of structures to use in WM_NOTIFY messages. If the parent window
does not handle this message, the DefWindowProc function responds
according to the type of the parent window. That is, if the parent window is a
Unicode window, DefWindowProc returns NFR_UNICODE, and if the parent
window is an ANSI window, DefWindowProc returns NFR_ANSI. If the parent
window is a dialog box and does not handle this message, the DefDlgProc
function similarly responds according to the type of the dialog box (Unicode or
ANSI).
A parent
window can change the type of structures a common control uses in WM_NOTIFY
messages by setting lParam to NF_REQUERY and sending a WM_NOTIFYFORMAT
message to the control. This causes the control to send an NF_QUERY form of the
WM_NOTIFYFORMAT message to the parent window.
See Also