This morning I have been reading through Applications = Code + Markup by Charles Petzold. It is a good read with lots of details. I have found a small misprint though. Page x (as in page 10 of the introduction) says that the codes samples can be found at http://www.microsoft.com/mspress/companion/6-1957-3. This appears to be incorrect. The url to use is http://www.microsoft.com/mspress/companion/0-7356-1957-3/.