MsgBox: Difference between revisions

From BR Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 9: Line 9:
'''TITLE$''' is a string containing the title of the message box.  
'''TITLE$''' is a string containing the title of the message box.  


'''BUTTONS$''' indicates which buttons will be displayed in the message box. If you don't specify a button configuration the OK button is displayed.The value of the button the user selects is returned to BR in CNT (see below).
'''BUTTONS$''' indicates which buttons will be displayed in the message box. If you don't specify a button configuration the OK button is displayed.The value of the button the user selects is returned to BR in CNT.


'''ICON$''' indicates what ICON, if any, will be displayed. If you don't specify a title, a blank title bar is displayed. 
The BUTTON$ value that is capitalized will become the default button (selected by the Enter key). For example, if "Yn" or "Ync" is specified then the Yes button becomes the default button. If "yN" or "yNc" is specified then the No button is displayed as the default button. The case of the "c" has no bearing on default button focus. If both or neither are capitalized, ie: "YN" or "yn", then the default is that YES is pre-selected.
 
====Examples====
 
00010 Let MSGBOX( PROMPT$, TITLE$, BUTTONS$, ICON$)
00020 Let VALUE= MSGBOX( "Record not Found", "Error", "OK", "ERR")
00030 Let MSGBOX( "End of Data", "NOTE")
 
;Complete Example:
 
00010  dim prompt$*200
00020  let prompt$="Are the labels aligned correctly?"
00030  let title$="Check Printer"
00040  let Buttons$="Yn"
00050  let ICON$="QST"
00060  Let boxanswer=MSGBOX(PROMPT$, TITLE$, BUTTONS$, ICON$)
00070  if boxanswer><2 then goto ALIGN


====Acceptable values for BUTTONS$====
====Acceptable values for BUTTONS$====
Line 43: Line 27:
|}
|}


'''ICON$''' indicates what ICON, if any, will be displayed. If you don't specify a title, a blank title bar is displayed. All ICON$ values are case insensitive.


====Acceptable values for ICON$====
====Acceptable values for ICON$====
{|
{|
|-
|-
||'''INF'''||Displays (i) Information icon
||'''INF'''||Displays (i) Information icon
|-
|-
||'''ERR'''||Displays Error Icon (e.g. stop sign)
||'''ERR'''||Displays Error Icon, which is a stop sign
|-
|-
||'''EXCL'''||Displays Exclamation Point
||'''EXCL'''||Displays Exclamation Point
Line 59: Line 44:




All Buttons$ and Icon$ values are case insensitive except that if "Yn" or "Ync" is specified then the Yes button becomes the default button and if "yN" or "yNc" is specified then the No button is displayed as the default button (will be selected by the Enter key). The case of the "c" has no bearing on default button focus, and "YN" or "yn" are ambiguous with respect to default button focus.
 
===Examples===
00010 Let MSGBOX( PROMPT$, TITLE$, BUTTONS$, ICON$)
00020 Let VALUE= MSGBOX( "Record not Found", "Error", "OK", "ERR")
00030 Let MSGBOX( "End of Data", "NOTE")
 
 
;Complete Example:
00010  dim prompt$*200
00020  let prompt$="Are the labels aligned correctly?"
00030  let title$="Check Printer"
00040  let Buttons$="Yn"
00050  let ICON$="QST"
00060  MSGBOX(PROMPT$, TITLE$, BUTTONS$, ICON$)><2 then goto ALIGN
 
Will produce a message box like this ("Yes" is the default button):
 
[[image:messagebox.jpg]]


====Returned Values====
====Returned Values====
Line 66: Line 68:
{|
{|
|-
|-
||'''0'''||An error occurred such as not enough memory. (quite rare)
||'''0'''||An error occurred such as not enough memory. (This is quite rare.)
|-
|-
||'''1'''||The OK button was selected.
||'''1'''||The OK button was selected.
Line 78: Line 80:
|}
|}


To force a new line in the text of a message box insert a CHR$(13) or HEX$("0D0A"), carriage return,in the text at the point where the word wrap should occur. If no line is forced Windows will determine a wrap point based on the width of the monitor.
In our example, if YES is not selected, it will return to the program and go to the line label ALIGN, which turns out to be another message box about aligning paper in the printer. If YES is selected, it simply continues with the program to print the labels:
00060  MSGBOX(PROMPT$, TITLE$, BUTTONS$, ICON$)><2 then goto ALIGN
 
====Line breaks in a message box====
To force a new line in the text of a message box insert a CHR$(13) or HEX$("0D0A"), carriage return, in the text at the point where the word wrap should occur. If no line is forced Windows will determine a wrap point based on the width of the monitor.


<noinclude>
<noinclude>
[[Category: Internal Functions]]
[[Category: Internal Functions]]
</noinclude>
</noinclude>

Revision as of 19:38, 29 October 2013

The MsgBox Internal Function will display a Windows Message Box. It has four possible parameters:

  • PROMPT$
  • TITLE$
  • BUTTONS$
  • ICON$

PROMPT$ is the only required parameter. It is a string which is to be displayed within the message box.

TITLE$ is a string containing the title of the message box.

BUTTONS$ indicates which buttons will be displayed in the message box. If you don't specify a button configuration the OK button is displayed.The value of the button the user selects is returned to BR in CNT.

The BUTTON$ value that is capitalized will become the default button (selected by the Enter key). For example, if "Yn" or "Ync" is specified then the Yes button becomes the default button. If "yN" or "yNc" is specified then the No button is displayed as the default button. The case of the "c" has no bearing on default button focus. If both or neither are capitalized, ie: "YN" or "yn", then the default is that YES is pre-selected.

Acceptable values for BUTTONS$

OK Displays OK button (default)
YN Displays Yes and No buttons
OKC Displays OK and Cancel buttons
YNC Displays Yes, No and Cancel buttons


ICON$ indicates what ICON, if any, will be displayed. If you don't specify a title, a blank title bar is displayed. All ICON$ values are case insensitive.

Acceptable values for ICON$

INF Displays (i) Information icon
ERR Displays Error Icon, which is a stop sign
EXCL Displays Exclamation Point
QST Displays a Question Mark


Examples

00010 Let MSGBOX( PROMPT$, TITLE$, BUTTONS$, ICON$)
00020 Let VALUE= MSGBOX( "Record not Found", "Error", "OK", "ERR")
00030 Let MSGBOX( "End of Data", "NOTE")


Complete Example
00010   dim prompt$*200
00020   let prompt$="Are the labels aligned correctly?"
00030   let title$="Check Printer"
00040   let Buttons$="Yn"
00050   let ICON$="QST"
00060   MSGBOX(PROMPT$, TITLE$, BUTTONS$, ICON$)><2 then goto ALIGN

Will produce a message box like this ("Yes" is the default button):

Returned Values

Possible return values are:

0 An error occurred such as not enough memory. (This is quite rare.)
1 The OK button was selected.
2 The YES button was selected.
3 The NO button was selected.
4 The CANCEL button was selected, or ESC was pressed. (The ESC key has no affect when the Cancel button is not displayed.)

In our example, if YES is not selected, it will return to the program and go to the line label ALIGN, which turns out to be another message box about aligning paper in the printer. If YES is selected, it simply continues with the program to print the labels:

00060   MSGBOX(PROMPT$, TITLE$, BUTTONS$, ICON$)><2 then goto ALIGN

Line breaks in a message box

To force a new line in the text of a message box insert a CHR$(13) or HEX$("0D0A"), carriage return, in the text at the point where the word wrap should occur. If no line is forced Windows will determine a wrap point based on the width of the monitor.