__AtPrompt()
Display a menu item on screen and define a message
- Syntax
-
- __AtPrompt( <nRow>, <nCol>, <cPrompt>, [<xMsg>] ) --> .F.
- Arguments
-
- <nRow> is the row number to display the menu <cPrompt>. Value could range from zero to MAXROW().
- <nCol> is the column number to display the menu <cPrompt>. Value could range from zero to MAXCOL().
- <cPrompt> is the menu item character string to display.
- <xMsg> define a message to display each time this menu item is highlighted. <xMsg> could be a character string or code block that is evaluated to a character string. If <xMsg> is not specified or got the wrong type, an empty string ("") would be used.
- Returns
-
- __AtPrompt() always return .F.
- Description
-
- With __AtPrompt() you define and display a menu item, each call to __AtPrompt() add another item to the menu, to start the menu itself you should call the __MenuTo() function (MENU TO command). You can define any row and column combination and they will be displayed at the order of definition. After each call to __AtPrompt(), the cursor is placed one column to the right of the last text displayed, and ROW() and COL() are updated.
- @...PROMPT command is preprocessed into __AtPrompt() function during compile time.
Examples
// display a two line menu with status line at the bottom
// let the user select favorite day
SET MESSAGE TO 24 CENTER
@ 10, 2 PROMPT "Sunday" MESSAGE "This is the 1st item"
@ 11, 2 PROMPT "Monday" MESSAGE "Now we're on the 2nd item"
MENU TO nChoice
DO CASE
CASE nChoice == 0 // user press Esc key
QUIT
CASE nChoice == 1 // user select 1st menu item
? "Guess you don't like Mondays"
CASE nChoice == 2 // user select 2nd menu item
? "Just another day for some"
ENDCASE
- Status
- Ready
- Compliance
-
- CA-Clipper array is limited to 4096 items, and therefor 4096 menu items are the maximum that could be defined per one menu, Harbour does not have this limit (not that you'll ever need that).
- Files
-
- Library is rtl
- See Also