An MListControlState is adopted into the table view or scrolling list to provide the items for the list. A simple TLinearListControlState is also provided for easy construction of list controls. Since the control state manages the storage of items, it is possible to do such things as getting the items from a database. Items in a list can be any TLabel and can be individual enabled or disabled where disabled items are not selectable.