   MFC Book
  I just installed Visual Studio 2010 Professional, and I have heard great things about MFC, and I want to get into more depth with it.  I have looked at books on Amazon, but they are all at least ten years old and I don't know if they would be out-dated for current MFC applications.  Has anyone read any MFC books lately?  What would be the best book that would work for Visual C++ 2010 Professional?  Thanks in advance!   
  Those books are ten years old because MFC is ten years old... Actually, it's older, more like 20 years old, and it's pretty much been supplanted by C#. That said here are a few links for you to check out. Books That Help You Learn MFCMFC resources / linksReturn of the MFC Black Book!Microsoft Visual C & C++: Good books on MFC/C++?Paul DiLascia's Home Page! -- This guy was a really good programmer but he passed away so you might want to download any of his tutorials you find useful as there's no telling how much longer his stuff will stay up on the www. See: Paul DiLascia — Links to columns and articles. Two that I've found particularly useful are Meandering Through the Maze of MFC Message and Command Routing and Windows UI: Our WinMgr Sample Makes Custom Window Sizing SimpleJeff Prosise's book is probably a good place to start, but if you haven't done so already, you probably should start with Charles Petzold's "Programming Windows". Also check out The Code Project (codeproject.com). And consult the ACCU Book Reviews as well. Lastly, consider that MFC may not be as great as you've heard: MFC Considered Harmful to Programmers;  There's really no reason to use MFC anymore. You're already making your code windows specific, so you may as well go the whole hog and use Winforms.   ;  Can you use OpenGL in Windows Forms?   ;  Yes, a simple google of opengl winforms will give you at least one example albeit a bit old.   ;  WPF is the way to go. You can use Managed C++ with a bit of tinkering.   ;Quote:Original post by ChaosEngineThere's really no reason to use MFC anymore. You're already making your code windows specific, so you may as well go the whole hog and use Winforms.Being recently introduced and involved to GUI, and never really understood MFC to be comfortable, I am curious.Are you saying MS will slowly stop supporting MFC or goad developers into .NET and other MS platforms? Or are developers actively making the switch to Java or Qt, either for ease of use or cross-platform support?;Quote:Original post by rumbleBeing recently introduced and involved to GUI, and never really understood MFC to be comfortable, I am curious.Are you saying MS will slowly stop supporting MFC or goad developers into .NET and other MS platforms? Or are developers actively making the switch to Java or Qt, either for ease of use or cross-platform support?"Goad developers into .NET and other MS platforms."  If you're going to use OpenGL instead of DirectX, it would probably be best to use QT or wxWidgets so you can easily float cross platform.   ;Quote:Original post by rumbleQuote:Original post by ChaosEngineThere's really no reason to use MFC anymore. You're already making your code windows specific, so you may as well go the whole hog and use Winforms.Being recently introduced and involved to GUI, and never really understood MFC to be comfortable, I am curious.Are you saying MS will slowly stop supporting MFC or goad developers into .NET and other MS platforms? Nothing so machiavellian. When MFC was released, it was a pretty reasonable alternative to the Win32 API. Sure, it was a bit clunky, but ultimately it was more productive than Win32, alleviating a lot of the boilerplate code you needed to write.But these days, C#/Winforms is an order of magnitude easier/more productive to use. If you are writing a new windows-only app, there's simply no reason to use C++. Quote:Original post by rumbleOr are developers actively making the switch to Java or Qt, either for ease of use or cross-platform support?Cross-platform? MFC was never cross-platform to begin with, C# has some x-platform support with mono and if you really want to go x-platform, you're probably better off with QT, wx, etc.Need to leverage an existing C++ codebase? No problem, simply wrap a C++/CLI assembly round that sucker and you're good to go.The only reason I can think to use MFC is if you have a large MFC codebase that contains a useful set of custom controls you wish to leverage. ;Quote:Original post by necreiaQuote:Original post by rumbleBeing recently introduced and involved to GUI, and never really understood MFC to be comfortable, I am curious.Are you saying MS will slowly stop supporting MFC or goad developers into .NET and other MS platforms? Or are developers actively making the switch to Java or Qt, either for ease of use or cross-platform support?"Goad developers into .NET and other MS platforms."  If you're going to use OpenGL instead of DirectX, it would probably be best to use QT or wxWidgets so you can easily float cross platform.I do work with graphics mostly and have dabbed into GUI for demos, which doesn't need to be x-platform. If I can only focus on one, I wonder among MFC, the new Windows Forms, Qt, Swing, and etc., which would be more future-proof and make me employable for the long term.   