This is also a great point - which minimizes the 'messiness' of having multiple static variables. I was just wondering - do you use this type of a system in practice, or is this one solution that you see working due to the topic's question?
In general, I have not found to many cases where I derived a C++ window class from another complete class. I generally just have a base abstract Control class (with a lot of built in functionality, but can't be instantiated) and many complete children classes. I tend to model then off of the .NET classes.
Control -> Form
Control -> Button
Control -> Label