I’m interested in learning how to program using Microsoft’s Visual C++ for Windows. In particular, I want to know how to make applications for the Windows platform.
I’m already a professional programmer. I know the C and C++ languages as well as many other languages in depth, I just haven’t done any Windows programming before, so I don’t need an introduction to C/C++ or programming. I’m also interested in writing programs for the latest versions of Windows, including Windows 7, and MFC sounds outdated.
Looking for books, I already found elsewhere on StackOverflow a recommendation for Petzold’s “Programming Windows” book, but that’s from 1998 — is it really still applicable?
My questions are:
- What web sites do you recommend as references?
- What web sites do you recommend as tutorials?
- Are there any books or e-books on the subject?
- What options are available as far as frameworks is concerned? Vanilla, .NET, Native, MFC, what are the differences, and which is what?
WPF is the latest UI framework from Microsoft, it has lots of advantages over System.Windows.Forms which is its predecessor in .NET. It might be easiest to learn C# and do the UI stuff in WPF, and call out to native C++, only as needed. If you want to stick to only C++, you can also use managed C++ (C++/CLI) with both of the .NET GUI framework technologies.
If you want native-only C++, then Qt is a rather nice framework. Don’t use MFC unless you really need to, like for legacy support. You can also write your own C++ wrapper classes for the Win32 API, but that’s more work than is usually worth, unless for the very small application.
If you are writing brand new code, I’d recommend learning C# instead and using WPF. Having a managed application has lots of benefits for development, and C# is easier to work with than managed C++.
Any recent Windows programming books by Petzold or Richter will do ya fine.