Common Dialog Messages

Common dialog boxes use messages to notify your window procedure or hook procedure when certain events occur. In addition, there are messages that you can send to a common dialog box to retrieve information or to control the behavior or appearance of the dialog box. This section describes the common dialog messages registered by the RegisterWindowMessage function, messages used by the Font dialog box and Page Setup dialog box, and messages used by the Explorer-style Open and Save As dialog boxes.

The Common Dialog Box Library defines a set of message strings. You can pass a constant associated with one of these message strings to RegisterWindowMessage to get a message identifier. You can then use the identifier to detect and process messages sent from a common dialog box, or to send messages to a common dialog box. The following table shows the message constants and describes their use.

COLOROKSTRING A Color dialog box sends this message to the hook procedure when the user selects a color and clicks the OK button. The hook procedure can accept the color, or reject it and force the dialog box to remain open.
FILEOKSTRING An Open or Save As dialog box sends this message to the hook procedure when the user selects a filename and clicks the OK button. The hook procedure can accept the filename, or reject it and force the dialog box to remain open.

For Explorer-style Open and Save As dialog boxes, this message has been superseded by the CDN_FILEOK notification message.

FINDMSGSTRING A Find or Replace dialog box sends this message to the window procedure of its parent window when the user clicks the Find Next, Replace, or Replace All button, or closes the dialog box. The message's lParam parameter points to a FINDREPLACE structure containing the user's input.
HELPMSGSTRING All common dialog boxes send this message to the window procedure of their parent window when the user clicks the Help button.

For Explorer-style Open and Save As dialog boxes, this message has been superseded by the CDN_HELP notification message.

LBSELCHSTRING An Open or Save As dialog box sends this message to the hook procedure when the user changes the selection in the Filename list box.

For Explorer-style Open and Save As dialog boxes, this message has been superseded by the CDN_SELCHANGE notification message.

SETRGBSTRING A hook procedure can send this message to a Color dialog box to set the current color selection.
SHAREVISTRING An Open or Save As dialog box sends this message to the hook procedure if a sharing violation occurs for the selected file when the user clicks the OK button.

For Explorer-style Open and Save As dialog boxes, this message has been superseded by the CDN_SHAREVIOLATION notification message.


Some common dialog boxes send and receive other window messages. The hook procedure for a Font dialog box can send any of the WM_CHOOSEFONT_* messages to the Font dialog box. For more information, see Font Dialog Box. The Page Setup dialog box sends the WM_PSD_* messages if you have enabled a PagePaintHook hook procedure. For more information, see Page Setup Dialog Box.

The Explorer-style Open and Save As dialog boxes support a set of predefined messages. These include notification messages sent in the form of a WM_NOTIFY message to your hook procedure, and messages that your hook procedure can send to the dialog box. For a complete list of these messages, see Explorer-Style Hook Procedures.