Best MFC book I ever found was Jeff Prosise's (1st Edition). Hang on...
Here are some words:
"...I found the best MFC book I ever read really didn't care much about what compiler or dev environemnt you were using - it was the first edition (the second edition wasn't bad, but was not as good as the first) of Jeff Prosise's "Programming Windows 95 With MFC". Yes, it's now
15 17 years old. It says "Windows 95" in the title, but that's really just because Windows 95 was all big and happening then. It's agnostic to which version of Windows you're using, and doesn't actually care what your development system is (although if you've got the MFC dev libraries, you've got Visual Studio, so you might as well use it) so long as you can link to the libraries. The pictures in the book clearly use some version of Visual Studio, but every line in each program is typed in by hand with a clear explanation of what the code actually does, so there's no reliance on anything other than your ability to type."
and more other words:
"MFC has been around for a long time, though. You can buy a genuine copy of Visual Studio from yesteryear on eBay (anything after VS6 will probably do) for a pittance and get started with that. I bought a copy of VS2003 for just this purpose a couple of years ago; it cost less to buy than to have it posted to me. I wouldn't be surprised if it was quite easy to install it and then just use the MFC headers and link to the relevant libraries from whatever more recent IDE you like to use.
I learnt MFC from Jeff Prosise's excellent, excellent book "Programming Windows 95 with MFC". For getting a solid understanding of what you're doing it's second to none, as that edition doesn't bother with the wizards and starts you off making really minimal but fully functional MFC programmes, such that you know what every line of code there does. I had a disagreement with someone once who thought I was wasting my time and that rapid-prototyping with wizards and what have you was the way to go. I'm sure there's a place for that, but it's not how I like to learn and understand code. Also, my programming day job tends to have projects that run over the best part of a decade, so saving a fortnight to get a rapid-prototype pales in comparison to the cost of ten years of not really understanding how it works; other people have different needs, of course, and you have to go with what best suits your circumstances.
There is a second edition, "Programming Windows with MFC" which is a bit thicker and uses wizards, but to my mind it's actually not as good. Becuase MFC is quite mature, the basics in his first edition hold true now; development over the years since then has added lots that is useful, but the basics of putting it together as he explains are still valid. If you're just wanting to learn it, you probably won't even be interested in some of the really fancy bits for quite a while anyway.
Best bit; you can buy a second-hand copy of "Programming Windows 95 with MFC" online for literally pennies. I paid less than a pound for my copy. It cost more to post it to me. For the cost of a fiver's worth of postage, I had excellent book and a copy of VS2003 ready to go. Having had a quick look on eBay, I see a copy of VS2005 currently at two pounds. Bargain, and perfectly adequate for learning.
This is also really worth a read:
http://www.microsoft.com/msj/0795/dilascia/dilascia.aspx
Even if you don't understand it yet, read what you can and come back to it every so often. It's really helpful for understanding the message pump, and if you understand the message pump you're half-way there.
Disclaimer: I am not Jeff Prosise, nor am I his agent :p "