MFC was much more of a thin wrapper than OWL was, IIRC.
Microsoft concentrated on bringing MVC-enabling classes for application development, and otherwise just basically wrapped the raw Windows API, whereas Borland actually created an honest-to-gosh object library to represent the GUI (and to an extent, provide a migration path from TurboVision, their DOS GUI library).
VCL was even thicker still, having come from Delphi's rather successful attempt to duplicate the Visual Basic VBX components in a highly-extensible and more native way.
Like you hint at, it was kind of a weird fit for C++Builder, since Object Pascal had somewhat different capabilities that they had to lay into CB making it a little bit of a bastardized spinoff of C/C++.
.NET/C# was ultimately what came out of that heritage, after MS poached Delphi's architect. I think it benefited from not claiming to be C++.
I read a story somewhere that MFC was originally much like OWL, but when Microsoft gave it to their test groups they found it too OO was thus MFC as thin layer was born.
Microsoft concentrated on bringing MVC-enabling classes for application development, and otherwise just basically wrapped the raw Windows API, whereas Borland actually created an honest-to-gosh object library to represent the GUI (and to an extent, provide a migration path from TurboVision, their DOS GUI library).
VCL was even thicker still, having come from Delphi's rather successful attempt to duplicate the Visual Basic VBX components in a highly-extensible and more native way.
Like you hint at, it was kind of a weird fit for C++Builder, since Object Pascal had somewhat different capabilities that they had to lay into CB making it a little bit of a bastardized spinoff of C/C++.
.NET/C# was ultimately what came out of that heritage, after MS poached Delphi's architect. I think it benefited from not claiming to be C++.