Development Topics > Tab() Functions > Tab(-10,x) Functions

Display Standard Message Dialog

? tab(-10, AG_MESSAGEBOXSTD); flag1; flag2; msg; tilde; title; chr(127);

The function AG_MESSAGEBOXSTD (17) displays a standard Windows message box dialog, which consists of a title bar, text message (up to 1024 characters) and a set of buttons as in this example:

Note that MSGBOX.SBX provides a more convenient interface to this function, and offers the additional bonus of detecting if the environment doesn’t support GUI functions, implementing the message box in text mode via INMEMO if necessary.

Parameters

flag1

A single character whose ASCII value is 32 plus the sum of a single choice from each of the following two tables (a button choice and an icon choice):

Value

Button Option

0

OK button

1

OK and CANCEL buttons

2

ABORT / RETRY / IGNORE buttons

3

YES / NO / CANCEL buttons

4

YES /NO buttons

5

RETRY / CANCEL buttons

 

Value

Icon Option

16

ICON: “X” (stop)

32

ICON: “?” (question)

48

ICON: “!” (exclamation)

64

ICON: “i” (information)

 

For example, the sample message dialog above would have set the flag1 parameter to chr(32+2+48)

flag2

A single character whose ASCII value is 32 plus the sum of zero or more options from the following table:

Value

Description

1

Default is button #2

2

Default is button #3

4

Dialog is task modal

8

Dialog is system modal

64

Add a help button

 

msg

A text string containing the message to display in the body of the dialog.

title

A text string to be displayed on the title bar of the dialog.

Example

? TAB(-10,17);chr(32+2+48);chr(32+1+4); &

"Best man tried on the bride's ring.";chr(13); &

"Now he can't get it off. Wedding ceremony crisis.";chr(127);

xcall ACCEPT,A    ! receive response (see notes below)

Notes

The dialog returns a single byte to the keyboard buffer indicating which button was pushed, according to the following table:

Return Char

Description

33

OK

34

Cancel

35

Abort

36

Retry

37

Ignore

38

Yes

39

No

40

A

41

Help

 

Unlike the “OK/Cancel Message Dialog (-10,4),which appears as a short but wide dialog along the bottom of the window, this one is more rectangular and appears in the middle of the screen. Also, unlike the OK/Cancel dialog which is really only suitable for single-line messages, this one can handle up to 1024 characters. You can break the lines explicitly, as in the example above, with a chr(13), or you can rely on the routine itself to break the lines as it sees fit.

Also see Tab(-10,17) and MSGBOX.SBX (in the A-Shell XCALL Reference). And EVTMSG.SBX and XTRMSG.SBX (in the Open Source Library).