[Overview][Types][Procedures and functions][Variables][Index] | Reference for unit 'LCLIntf' (#lcl)

# MessageBox

Displays a modal dialog with the given text, caption, icon and buttons.

## Declaration

Source position: winapih.inc line 199

`function MessageBox(`
`hWnd: HWND;`
`lpText: PChar;`
`lpCaption: PChar;`
`uType: Cardinal = MB_OK`
`):Integer;`

## Arguments

`hWnd` |  | Handle for the owner window, or 0 (default) when an owner is not available.
`lpText` |  | Pointer to the character values displayed in the content area for the dialog.
`lpCaption` |  | Pointer to the character values displayed as the title for the dialog.
`uType` |  | Flag values which indicate the icon, buttons, and behavior for the dialog.

## Function result

Integer value with the modal result for the dialog.

## Description

MessageBox is an Integer function used to display a modal dialog with the text, caption, icon and buttons specified using the arguments to the routine. It provides the common routine in the LCL interface used to access the platform-specific implementation of the routine for the widgetset class.

hWnd contains the handle for the window which is the owner of the dialog created and executed in the routine. The default value (0) indicates a handle is not available or not assigned for the owner window.

lpText is a PChar value with the text displayed on the modal dialog. Multi-line text can be used by embedding the end-of-line character sequence in the content.

lpCaption is a PChar value with the title displayed on the modal dialog.

uType is a Cardinal value which identifies the content and behavior for the modal dialog. It consists of flag values which can be OR-ed together and passed to the widgetset implementation. uType can contain flag values from the following flag groups:

Buttons (defined in lcltype.pp)

MB_OK ($00000000)
  Displays an OK button. This is the default behavior for the Windows platform.
MB_OKCANCEL ($00000001)
  The message box contains two push buttons: OK and Cancel.
MB_ABORTRETRYIGNORE ($00000002)
  Displays Abort, Retry, and Ignore buttons.
MB_YESNOCANCEL ($00000003)
  Displays Yes, No, and Cancel buttons.
MB_YESNO ($00000004)
  Displays Yes and No buttons.
MB_RETRYCANCEL ($00000005)
  Displays Retry and Cancel buttons.
MB_MB_CANCELTRYCONTINUE ($00000006)
  Not supported in the current LCL version.
MB_HELP ($00004000)
  Displays a Help button on the dialog. Sends a help message to the owner window in hWnd when it has a non-zero value.

Icons (defined in lcltype.pp)

MB_ICONSTOP, MB_ICONERROR, MB_ICONHAND ($00000010)
  Displays a stop sign icon on the dialog.
MB_ICONQUESTION ($00000020)
  Displays a question mark icon on the dialog.
MB_ICONEXCLAMATION, MB_ICONWARNING ($00000030)
  Displays an exclamation point icon on the dialog.
MB_ICONINFORMATION, MB_ICONASTERISK ($00000040)
  Displays a lowercase "i" icon on the dialog.

Default Buttons (defined in lcltype.pp)

MB_DEFBUTTON1 ($00000000)
  The first button is the default button. This is the default unless MB_DEFBUTTON2, MB_DEFBUTTON3, or MB_DEFBUTTON4 is specified.
MB_DEFBUTTON2 ($00000100)
  The second button is the default button.
MB_DEFBUTTON3 ($00000200)
  The third button is the default button.
MB_DEFBUTTON4 ($00000300)
  The fourth button is the default button.

The return value indicates the button selected on the modal dialog, and can be identified using the following Integer constants defined in lcltype.pp:

- IDOK, ID_OK (1)
- IDCANCEL, ID_CANCEL (2)
- IDABORT, ID_ABORT (3)
- IDRETRY, ID_RETRY (4)
- IDIGNORE, ID_IGNORE (5)
- IDYES, ID_YES (6)
- IDNO, ID_NO (7)
- IDCLOSE, ID_CLOSE (8)
- IDHELP, ID_HELP (9)

For example:

    uses LCLIntf, LCLType;
    // ...
    function ShowResourceNotAvailableMessageBox: Integer;
    begin
    Result := MessageBox(0,
    PChar('Resource not available.'+#10+'Try again?'),
    PChar('Account Details'),
    MB_ICONWARNING or MB_ABORTRETRYIGNORE or MB_DEFBUTTON2);

    case Result of
    IDABORT:  // needs to be implemented
    IDRETRY:  // needs to be implemented
    IDIGNORE: // needs to be implemented
    end;
    end;

## See also

TApplication.MessageBox |  | Display an message dialog with response buttons.
MessageBoxFunction |  | Provides the routine used to display a message dialog in widgetset implementations.
DefaultMessageBox |  | Widgetset-independent implementation of a message box routine.