The TListBox control is very flexible. You can customize every aspect of each item in the list. However, it is not suitable if you want to handle a long list of data, because flexibility comes at the cost of system being slow when the number of data rows grows. Embarcadero specifies that you should use TListView to display a collection of items in a list that is optimized for LiveBindings and for fast and smooth scrolling.
In this recipe, we will use the Do not block main thread! recipe as a base to customize a listview using custom styles. In that recipe, we got a list of weather forecasts from a REST web service and then filled the listview with that data using a standard style. In this recipe, that data will be nicely inserted in to a custom listview with colors, alignment, and a summary footer. There is no design-time support with this approach, because all the controls created in each item are created at runtime; however...