看看你是属于哪类的程序员?你很可能会脸红
May be the reason you are frustrated by MFC is that you are above-average in GUI programming? We have the following choices when it comes to GUI developing on windows:
1. Win32 API, for the absolute masters
2. WTL, for those masters who are also C++ nuts
3. MFC, the average C++ GUI developers
4. .NET, for those who already sold their souls to Bill Gates
5. VB, for all the rest
//---------------------------
However, I am still not convinced WTL has any significant advantage over MFC for the average (not dum) developers
I disagree here for one point: MFC quickly becomes a roadblock if you leave the paved superhighway. To implement features that are not "covered" by MFC, overriding behaviros that were not intended to be changed, I quickly start digging around MFC implementation, cursing it's stupid inflexible approach (yet too complex to be a real abstraction layer).
ATL much easier mixes with Win32. You can quickly "fall back to" raw Win32 coding, no strings attached.
(One thing that gets me up all trees available is the GDI object handling in MFC. It tries to isolate you from the topics at hand, yet it doesn't. So instead of looking up the Win32 documentation when I need to release what and when not, I *additionally* have to look up the MFC implementation what it's destructor etc. does)
//---------------------------
However, I am still not convinced WTL has any significant advantage over MFC for the average (not dum) developers. If only Microsoft can keep delivering better versions of MFC to us.
I tend to disagree. From what I have seen, WTL seems to be much more flexible and better designed than MFC. Often I need to use MFC on my work, and I hate it: it is soo rigid. On the other hand, .NET Windows forms are even worse, IMHO. In ideal world, Microsoft would deprecate MFC, leave .NET Windows Forms to VB programmers, and start supporting WTL. However, that is just not going to happen
----------------------