The thing that I don't understand is that how folks such as those from SmartWin++ are able to seemlessly connect functions with Windows messages without using a case statement in a message loop. An example is at the following page:
Where do you windows messages there? All the message processing is hidden inside the framework.
Using your approach, I need to use a case statement inside a message loop.
As you can see, struct Handler in my example doesn't have any case statements as well. Again: the basic, lowlevel message processing is hidden - in my example in the "button" class, in smart win++ somewhere in WidgetWindow or its base classes. The *users* of the framework do not need to deal with messages as the framewotrk exposes higher-level facilities.