Provided by: allegro4-doc_4.4.2-10_all bug


       d_list_proc  -  Dialog  procedure implementing a list box object. Allegro game programming


       #include <allegro.h>

       int d_list_proc(int msg, DIALOG *d, int c);


       A list box object. This will allow the user to scroll through  a  list  of  items  and  to
       select  one by clicking or with the arrow keys. If the D_EXIT flag is set, double clicking
       on a list item will close the dialog. The index of the selected item is  held  in  the  d1
       field,  and  d2  is  used  to store how far it has scrolled through the list. The dp field
       points to a function which will be called to obtain information about the contents of  the
       list. This should follow the form:

          char *foobar(int index, int *list_size);

       If  index is zero or positive, the function should return a pointer to the string which is
       to be displayed at position index in the list. If index is negative, it should return NULL
       and list_size should be set to the number of items in the list.

       To  create  a  multiple  selection  listbox,  set  the dp2 field to an array of byte flags
       indicating the selection state of each list item (non-zero  for  selected  entries).  This
       table must be at least as big as the number of objects in the list!