I would like to design an object oriented windows programming frame work and i already have a few ideas and would like to know if anyone has any ideas, suggestions or words of caution that would help me. I'm very new to c++ and newer to object oriented programming so this project should be useful in my learning process. What I have in mind is to create different classes for different aspects of the windows api such as windows, sockets, printing etc. What about a base class? Should I have one? An abstract class that the other objects are derived from? And how should I deal with message handling? I've done some winapi programming before but not with other frameworks such as mfc or wxwindows.