## Drop-down Lists

### OBJECTS

      typedef void (*ControlFunc)  (Control *c);

### FUNCTIONS

      Control *new_drop_list(Window *w, Rect r, char **lines,
                                 ControlFunc fn);
      Control *add_drop_list(Control *c, Rect r, char **lines,
                                 ControlFunc fn);

      long	   get_control_value(Control *c);

### NOTES

A drop list is a push-button which, when clicked, displays a drop-down menu list of selectable names. The control is created by new_drop_list on the specified window, within the given rectangle. The `lines` parameter is a NULL-terminated list of strings, to be displayed in the menu. The function pointer `fn` will be called when the user chooses one of the lines from the menu.

The add_drop_list function works in the same way as new_drop_list, except that it attaches the list to a control rather than directly to a window.

The program can determine which item was chosen by examining the control's value, using get_control_value. The first string in the list is numbered 0, the next 1, and so on.

### EXAMPLES

- scribble.c