Describes the selection-list representation of a field or variable. A selection-list is a scrollable list of values. The SELECTION-LIST phrase is an option of the VIEW-AS phrase.
SELECTION-LIST [ SINGLE | MULTIPLE ] [ NO-DRAG ] { LIST-ITEMS item-list| LIST-ITEM-PAIRS item-pair-list} [ SCROLLBAR-HORIZONTAL ][ SCROLLBAR-VERTICAL ] {size-phrase |{ INNER-CHARS cols INNER-LINES rows} } [ SORT ] [ TOOLTIP tooltip] |
Specifies that the user cannot select items by simultaneously holding down the mouse select button and dragging the mouse through the list.
If you specify NO-DRAG then the DRAG-ENABLED attribute is set to FALSE. You can set the DRAG-ENABLED attribute only before the selection-list is realized. The default is TRUE.
In Windows, DRAG-ENABLED is always TRUE and the NO-DRAG option is ignored.
Specifies a list of label-value pairs. Each pair represents a label and value of the associated field or variable. When the selection-list appears, it displays each pair's label. Then, if the user selects a label, the AVM assigns the corresponding value to the field or variable. The syntax for item-pair-list is as follows:
Specifies the outside dimensions of the selection-list widget. Following is the syntax for the size-phrase:
For more information, see the SIZE phrase reference entry.
Note that the values you supply for INNER-CHARS and INNER-LINES specify only the size of the list, not the overall size of the selection-list widget. The overall size is determined by the size of the list plus the sizes of the margin and border heights and widths.
Allows you to define a help text message for a text field or text variable. The AVM automatically displays this text when the user pauses the mouse button over a text field or text variable for which a tooltip is defined.
You can add or change the TOOLTIP option at any time. If TOOLTIP is set to "" or the Unknown value (?), then the tooltip is removed. No tooltip is the default. The TOOLTIP option is supported in Windows only.
The r-select.p procedure prompts the user for a directory name and then populates a selection-list with the contents of the specified directory. After the user selects an item from the selection-list, the procedure echoes back the selection.
The procedure uses the INPUT FROM statement to read the contents of the user-specified directory and creates a comma-separated list of all the file and directory names in the directory. It then assigns the comma-separated list to the LIST-ITEMS attribute of the selection-list. Because an assignment to an attribute depends on the widget being located in a frame, the DEFINE FRAME statement is used to locate the selection-list.
r-select.p
DEFINE VARIABLE f-name AS CHARACTER NO-UNDO FORMAT "x(14)". DEFINE VARIABLE choice AS CHARACTER NO-UNDO FORMAT "x(50)" LABEL "You have selected". DEFINE VARIABLE list_contents AS CHARACTER NO-UNDO FORMAT "x(200)". DEFINE VARIABLE dir AS CHARACTER NO-UNDO FORMAT "x(40)" LABEL "Please enter a directory pathname ". DEFINE VARIABLE sl AS CHARACTER NO-UNDO VIEW-AS SELECTION-LIST INNER-CHARS 15 INNER-LINES 10 SORT. DEFINE FRAME b sl. DEFINE FRAME c choice. DEFINE STREAM dirlist. ENABLE dir WITH FRAME d WITH SIDE-LABELS. ON RETURN OF dir IN FRAME d DO: ASSIGN FRAME d dir. INPUT STREAM dirlist FROM OS-DIR (dir). IMPORT STREAM dirlist f-name. list_contents = f-name. REPEAT: IMPORT STREAM dirlist f-name. list_contents = list_contents + "," + f-name. END. INPUT CLOSE. sl:LIST-ITEMS IN FRAME b = list_contents. ENABLE sl WITH FRAME b NO-LABELS TITLE "Please Select a File" WIDTH 50. END. ON VALUE-CHANGED OF sl IN FRAME b DO: choice = sl:SCREEN-VALUE. DISPLAY choice WITH FRAME c SIDE-LABELS. END. WAIT-FOR WINDOW-CLOSE OF CURRENT-WINDOW. |