I suggest you ...

Improve MFC

Like many developers we maintain and develop an extremely large enterprise MFC application. All in all about 1.5 million lines. Asides from the addition of ribbons and a few extra controls we have had very little improvements in how we can work with MFC or native Win32 apps (in fact, the speed has gone down and classwizard seems to have gone from bad to worse to gone). Can you consider:

1. Improving the Dialog editor so that we can lay out dialogs with guides and the extra alignment options that are standard with C# - automatically spacing items correctly and so on.
2. Introduce a standardised feature for resizable dialogs, somewhat akin to C#'s docking or attaching.
3. Please, please, please allow us to work on the tabs of a tab control directly. Tab controls are a real pain to work with.
4. Change the class wizard so that a dialog header file doesn't contain its resource ID in the header. Having '#include "resource.h"' in the header of every class is a pain and causes numerous conflicts in applications that have many dialogs.

Essentially I'm asking to have the MFC functionality brought up to line with what we have in Windows Forms. Developers who are still using MFC are almost certainly like us in that they are using it because they have a large enterprise solution to maintain. Such developers are professionals using Visual Studio to build big, serious, expensive applications. Whilst improvements in C#, WinForms, WPF, SL and so on are great, MFC has been woefully neglected for years.

2,452 votes
Sign in
Password icon
Signed in as (Sign out)
You have left! (?) (thinking…)
Dave Kerr shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →


Sign in
Password icon
Signed in as (Sign out)
  • Anonymous commented  ·   ·  Flag as inappropriate

    I love the improvements to MFC, they're working great for me, For a desktop app, it's fast, feature complete (for me at least) and has been debugged over many years. For web stuff, I use C#, but desktop I'm very happy with C++, granted dealing with memory management is a pain. But I think the philosophy is "real men use C++ so quit whining". But I do wimper now and then.

  • Ajay Vijayvargiya commented  ·   ·  Flag as inappropriate

    Adding "Dynamic Dialogs" after 10+ years makes "Improve MFC" complete?
    I don't think MS has any plans to improve it. Provide us a lightweight library for C++ UI

  • Karel Donk commented  ·   ·  Flag as inappropriate

    How in the heck is this marked as "Completed"??? The dialog editor is still old and lacking in VS2017. Please improve it. Also ClassWizard has so many bugs it's practically unusable for me right now. I filed bug reports and you can find many users with the same issues if you just google. The quality has seriously gone down ever since Ballmer went away.

  • Ahmad Tauqeer commented  ·   ·  Flag as inappropriate

    I am new in learning MFC. I am using vs 2013 as SDK. If anyone has any material relating to MFC kindly share with me. Thank you

  • Anonymous commented  ·   ·  Flag as inappropriate

    MFC went way beyond the simple dialog based applications. Yes, simple dialog applications were nice.

    However, MFC was a lot more. There's still a whole lot of programming power that was made available for SDI and MDI applications that's been ignored. I want to see this preserved and expanded so it is available to .NET.

  • Andrey commented  ·   ·  Flag as inappropriate

    CArray still don't have "range based for" support :(

    CArray<T> array;
    for (auto& val : array) {}

  • Ali commented  ·   ·  Flag as inappropriate

    One of the much needed feature is to simplify hosting .NET controls in MFC, or mixing managed code in MFC, this way we can move our legacy code smoothly to dot net.

  • Anonymous commented  ·   ·  Flag as inappropriate

    i think the better idea would be to gave up to MFC and all Windows UI to be XAML

  • Fernando A. Gómez F. commented  ·   ·  Flag as inappropriate

    Just don't reinvent MFC and leave us some half-baked solution like WinRT... It really is because of necessity, I'm trying to build fluent apps with WPF and the Fluent ribbon, and man it's painfully slow. There really is no good alternative for being productive.

  • gast128 commented  ·   ·  Flag as inappropriate

    Maybe they could give MFC a facelift. Start with using the stl and its containers instead of CString and the MFC container classes. The new docking support in MFC is really cool but spying at BCGsoft's code they are really messy programmers with lots of use of globals and casting from vase class. Why didn't they use the templated stl containers with its inherited type safety?

  • Mario Pintaric commented  ·   ·  Flag as inappropriate

    I used to live and breath MFC. When the technology became a life hazard, I moved on. If WinRT XAML and its support of C++ could run on the desktop, the MFC older timers would be given a very viable lifeline to a new life.

  • Michael F Cellar commented  ·   ·  Flag as inappropriate

    I believe MFC is one the best -maybe the best- designed GUI libraries. Please do not change anything. I particularly like the great macros.

  • PJTraill commented  ·   ·  Flag as inappropriate

    Not sure if still so, but I found it hard to make dialogues resizable — and guess what, one of the most infuriating aspects of the typical MS UI is fixed size dialogues (e.g seeing ~5/2000 users)!

  • Julio Raffaine commented  ·   ·  Flag as inappropriate

    Is there someone listening to this ?!?!? ... MFC is tragic, but it seems neither Microsoft care about this nor it's something they are owners anymore. I heard the fellas of BCGSoft actually develops MFC ... someone knows about it?

← Previous 1

Feedback and Knowledge Base