There are times when the confirm() statement cannot adequately handle a choice between items by the user. It can return a choice from a maximum of three items and do that by assigning the items to YESNOCANCEL. Using yes, no, and cancel is confusing to the user when the choices are of equal weight and there is no cancel if one of the choices is assigned to cancel.
Yes, prompt() can accept a number as a choice, but only confirm() has a message area longer than one line. Also prompt() does not restrict the user's input. The results from prompt() might require a revisit to the prompt if they don't fit the macro's requirements.
I would like to propose this:
$RESULT = picklist( MESSAGE , PICKS [, TITLE [, ICON]] );
Shows a messagebox and asks for a choice (numeric 1-9 w/zero for cancel).
The messagebox is where the choices are enumerated.
PICKS = NUMBER OF BUTTONS WITH NUMBERS TO BE SHOWN PLUS CANCEL
ICON = EXCLAIM | INFO | STOP | QUESTION
RESULT = 1 | 2 | ... | 9 | 0
It is likely too much to hope that the Microsoft Foundation Class provides for this, but I just had to ask.