The second list control we'll cover in this book is the TListView control. The general concept behind this control (a representation of data in list form) is quite different from that of TListBox (a collection of visual items).
TListView is a TStyledControl descendant. It is not a direct descendant; we have some layers of inheritance between the two, including TListViewBase. It is the first real UI control in the chain, able to use an adapter to mediate between data and its representation, and implementing basic functionality, such as scrolling and drawing TPresentedListView, which enables native control implementation, and TAppearanceListView, which enables dynamic appearances for list items (basically enabling the developer to fully customize an item's appearance and build one directly in the IDE or by code).
Listview controls have a really advanced implementation, and covering too many internal mechanisms and capabilities...