I started out with the basic windows code and message loop. It was a simple start and the code was pretty much the same that I have always used for window creation, so that's where I launched from.
After that, I decided not to use my engine to perform all of the rendering. There were two reasons for this:
1. I wanted to include the source code for the demo, and I'm not about to release the source code to the engine that I've been working on for 4+ years!
2. Basic API usage was pretty straight forward and I wanted to keep it simple.
I basically copied parts of my engine's renderer that manage the DX9 API for whatever I needed to add to the demo. This included device creation, vertex declarations, texture loading, font loading, basic drawing operations, etc... You really don't realize how much your renderer does for you until you don't use it!
That part was pretty easy to get working, but just took some time to test out. After that was finished, it was a matter of creating some content for the demo - I'll have to finish that discussion up next time...