Coming from a Borland background, MFC was pretty bad when compared with any of its frameworks.<p>However in MFC&#x27;s defense I think one can blame it on Microsoft&#x27;s study group. I read somewhere that the Afx prefix came from their original design.  A framework close in spirit to OWL, but their study group deemed it to high level.<p>So they made it a thin wrapper over Win16 instead.<p>On my case, the few cases I was forced outside OWL and MFC into pure C land, I use a set of macros from the Windows SDK.<p>They weren&#x27;t properly documented, but with the Windows 3.1 SDK Microsoft created a kind of &quot;type safe&quot; handles and message dispatch macros, which relieved the WndProc pain.<p>Nevertheless, Xlib was even worse.