MSGBOX function

Purpose

Display a message box containing a text string and an optional title, using one or more styles, and returning the button selected by the user.

Syntax

lResult& = MSGBOX(txt$ [, [style&], title$])

Remarks

The MSGBOX function is comprised of the following elements:

txt$

Indicates the text to display within the message box.

style&

Optional parameter which determines the appearance of the message box. Some styles may be combined (OR'ed together) to specify the button and icon displayed in the message box. If style& is omitted, PowerBASIC substitutes %MB_OK. The following styles are defined in WIN32API.INC, in the form of numeric equates:

%MB_OK

Display OK button (default)

%MB_OKCANCEL

Display OK and Cancel buttons

%MB_ABORTRETRYIGNORE

Display Abort, Retry and Ignore

%MB_YESNOCANCEL

Display Yes, No and Cancel

%MB_YESNO

Display Yes and No buttons

%MB_RETRYCANCEL

Display Retry and Cancel buttons

%MB_ICONERROR

Display Error icon (stop sign)

%MB_ICONINFORMATION

Display Information icon ("i")

%MB_ICONQUESTION

Display Query icon (question mark)

%MB_ICONWARNING

Display Warning icon (exclamation)

%MB_DEFBUTTON1

Default to 1st button (default)

%MB_DEFBUTTON2

Default to 2nd button

%MB_DEFBUTTON3

Default to 3rd button

%MB_APPLMODAL

Application Modal - Despite the name, the user can continue to interact with other dialogs without dismissing the MSGBOX. (default)

%MB_SYSTEMMODAL

System Modal - Operates identically to %MB_APPLMODAL, except the MSGBOX is given the %WS_EX_TOPMOST style so that it remains above all other windows and dialogs.

%MB_TASKMODAL

Task Modal - All top-level windows belonging to the current application are disabled until the MSGBOX is dismissed. %MB_TASKMODAL is commonly used to display a truly modal MSGBOX.

title$

Optional title to be displayed in the caption of the message box. If title$ is not specified, "PowerBASIC" is used automatically.

lResult&

Identifies the Button selected by the user. This will be equal to one of the following equates:

%IDOK

OK button

%IDCANCEL

Cancel button

%IDABORT

Abort button

%IDRETRY

Retry button

%IDIGNORE

Ignore button

%IDYES

Yes button

%IDNO

No button

Additional styles may be found in WIN32API.INC in the section prefixed with %MB_. If you are not interested in which button the user selects, use a MSGBOX statement rather than a MSGBOX function.

A question mark may be used as an abbreviation for the MSGBOX statement.

Restrictions

Strings displayed by the MSGBOX function are displayed only up to the first $NUL character, if any.

See also

INPUTBOX$, MSGBOX statement, TXT pseudo-object

Example

lResult& = MSGBOX("Overwrite registry file?", %MB_OKCANCEL OR %MB_DEFBUTTON2 _

             OR %MB_TASKMODAL, "Critical Warning")