WinProc programming was indeed pretty horrible. Didn't really program a lot in WinProc - but I've cut my teeth with MFC which was supposed to make it better.
They broke down the big switch in the program and created classes (the c in MFC) and macros.
The VCL of Borland was more abstracted, but we've used MFC.
I am pretty happy that I don't have to do this any more.
When I started with C# and Windows Forms it seemed like a revelation for me.