each TlistItem has a ImageIndex, StateIndex etc in it.
You can create a TImageList, add the images you want to it and tell the ListView/TreeVew to use that ImageList.
When you load your list, you need to specify the Image index for the listItem that is in that column.
I believe you can specify two image indexes so that you can have a different image depending on the state (StateIndex)