# Working with lists

FAR Manager 1.70 beta 4 offers the following scheme for working with DI_COMBOBOX and DI_LISTBOX lists:

- Dialog[Ex] start
  FarDialogItem.Param.ListItems - only for first initialization.
- DM_LISTADD
  Adds list item only, without associated data.
- DM_LISTINSERT
  Inserts list item only, without associated data.
- DM_LISTUPDATE
  Deletes UserData for the list item to be updated.
  Updates list item only, without associated data.
- DM_LISTSETDATA
  Associates new data with the list item, old data is deleted (if memory was allocated for it).
- DM_LISTGETDATA
  Returns value previously set by DM_LISTSETDATA.
- DM_LISTGETDATASIZE
  Returns size of associated data.
- DM_LISTGETITEM
  Returns list item only, without associated data.
- DM_GETDLGITEM
  Sets FarDialogItem.Param.ListPos variable.
- Dialog[Ex] completion
  Setting FarDialogItem.Param.ListPos variable.
  Deleting associated data (if memory was allocated for it).

See also:
DefDlgProc, DialogEx, SendDlgMessage