checkItems in PolyList

I am currently populating a PolyList with CheckItems, based on a table. I would like to be able to do either of two things with this list:

1. When the item is checked, get the Caption value and pass that to a stored procedure that will flag the appropriate record in a table.

2. Be able to sweep through the list in one go, retrieving which items are checked and then flagging as above.

I can populate the list easily enough. But I've just started using this component, and playing with it is not getting me what I want.

How can I know when an item has been checked/unchecked, and get the status of the check box?