The MessageBoxIndirect function creates, displays, and operates a message box. The message box contains application-defined message text and title, any icon, and any combination of predefined push buttons.
int MessageBoxIndirect(
LPMSGBOXPARAMS lpMsgBoxParams // address of structure for message
// box parameters
);
The return value is zero if there is not enough memory to create the message box.
If the function succeeds, the return value is one of the following menu-item values returned by the dialog box:
Value | Meaning |
---|---|
IDABORT | Abort button was selected. |
IDCANCEL | Cancel button was selected. |
IDIGNORE | Ignore button was selected. |
IDNO | No button was selected. |
IDOK | OK button was selected. |
IDRETRY | Retry button was selected. |
IDYES | Yes button was selected. |
If a message box has a Cancel button, the function returns the IDCANCEL value if either the esc key is pressed or the Cancel button is selected. If the message box has no Cancel button, pressing esc has no effect.
When you use a system-modal message box to indicate that the system is low on memory, the strings pointed to by the lpszText and lpszCaption members of the MSGBOXPARAMS structure should not be taken from a resource file, because an attempt to load the resource may fail.
When an application calls MessageBoxIndirect and specifies the MB_ICONHAND and MB_SYSTEMMODAL flags for the dwStyle member of the MSGBOXPARAMS structure, the system displays the resulting message box regardless of available memory. When these flags are specified, the system limits the length of the message box text to three lines. The system does not automatically break the lines to fit in the message box, however, so the message string must contain carriage returns to break the lines at the appropriate places.
If you create a message box while a dialog box is present, use the handle of the dialog box as the hWnd parameter. The hWnd parameter should not identify a child window, such as a control in a dialog box.
Windows 95: The system can support a maximum of 16,364 window handles.
Windows NT: Requires version 4.0 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in winuser.h.
Import Library: Use user32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT.
Dialog Boxes Overview, Dialog Box Functions, MessageBox, MessageBoxEx, MSGBOXPARAMS