confused about MFC/.net/WPF confused about MFC/.net/WPF wpf wpf

confused about MFC/.net/WPF


MFC is a framework for creating GUI applications in native (unmanaged) C++ like the C++ you learned in college. The .NET Framework supports writing managed code in C++/CLI, C#, VB.NET or a number of other languages. There are two ways of building a desktop GUI application on the .NET Framework - Windows Forms and WPF. Windows Forms is older and no longer under active development. WPF is newer.

If you know C++ and intend to deploy to machines without the .NET Framework, MFC is a good choice. It creates modern-looking UIs and supports Windows 7 features. If you're willing to learn C# and deploy to machines with the .NET Framework, consider WPF or Windows Forms. For your basic "drag on a button, double-click to edit the handler, type some code in the click handler" apps there is no difference between them. WPF has better support for graphical coolness (gradients, transparency) and for multi-touch, Windows 7 goodies etc. Some people find it harder to learn, but I think that's just because they learned Windows Forms ages ago. If you're starting from nothing you could learn either and might as well learn the newer one.

MSDN has plenty of "getting started" topics once you've chosen a framework.