Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 31123
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T13:33:19+00:00 2026-05-10T13:33:19+00:00

My company has developed a long standing product using MFC in Visual C++ as

  • 0

My company has developed a long standing product using MFC in Visual C++ as the defacto standard for UI development. Our codebase contains ALOT of legacy/archaic code which must be kept operational. Some of this code is older than me (originally written in the late 70s) and some members of our team are still on Visual Studio 6.

However, a conclusion has thankfully been reached internally that our product is looking somewhat antiquated compared to our competitors’, and that something needs to be done.

I am currently working on a new area of the UI which is quite separate from the rest of the product. I have therefore been given the chance to try out ‘new’ technology stacks as a sort of proving ground before the long process of moving over the rest of the UI begins.

I have been using C# with Windows Forms and the .net framework for a while in my spare time and enjoy it, but am somewhat worried about the headaches caused by interop. While this particular branch of the UI won’t require much interop with the legacy C++ codebase, I can forsee this becoming an issue in the future.

The alternative is just to continue with MFC, but try and take advantage of the new feature pack that shipped with VS2008. This I guess is the easiest option, but I worry about longevity and not taking advantage of the goodness that is .net…

So, which do I pick? We’re a small team so my recommendation will quite probably be accepted as a future direction for our development – I want to get it right.

Is MFC dead? Is C#/Winforms the way forward? Is there anything else I’m totally missing? Help greatly appreciated!

  • 1 1 Answer
  • 1 View
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T13:33:19+00:00Added an answer on May 10, 2026 at 1:33 pm

    I’m a developer on an app that has a ton of legacy MFC code, and we have all of your same concerns. A big driver for our strategy was to eliminate as much risk and uncertainty as we could, which meant avoiding The Big Rewrite. As we all know, TBR fails most of the time. So we chose an incremental approach that allows us to preserve modules that won’t be changing in the current release, writing new features managed, andporting features that are getting enhancements to managed.

    You can do this several ways:

    1. Host WPF content on your MFC views (see here)

    2. For MFC MDI apps, create a new WinForms framework and host your MFC MDI views (see here)

    3. Host WinForms user controls in MFC Dialogs and Views (see here)

    The problem with adopting WPF (option 1) is that it will require you to rewrite all of your UI at once, otherwise it’ll look pretty schizophrenic.

    The second approach looks viable but very complicated.

    The third approach is the one we selected and it’s been working very well. It allows you to selectively refresh areas of your app while maintaining overall consistency and not touching things that aren’t broken.

    The Visual C++ 2008 Feature Pack looks interesting, I haven’t played with it though. Seems like it might help with your issue of outdated look. If the ‘ribbon’ would be too jarring for your users you could look at third-party MFC and/or WinForms control vendors.

    My overall recommendation is that interop + incremental change is definitely preferable to sweeping changes.


    After reading your follow-up, I can definitely confirm that the productivity gains of the framework vastly outweigh the investment in learning it. Nobody on our team had used C# at the start of this effort and now we all prefer it.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

My company has developed (and still continues to develope) a large ASP.NET business application.
My company has a number of relatively small Access databases (2-5MB) that control our
The company has the traditional complex organizational structure, defining the amount of levels using
My company has developed a .NET web service and a client dll that uses
Our company has defined a number of best practices with regard to Maven poms.
The company I used to work with has two developers working fulltime, and a
My company has a common code library which consists of many class libary projects
My company has login integration with GroupWise, and Exchange 5.5/2000+. The Exchange 5.5/GroupWise logic
My company has been working on a Flex dashboard that displays realtime financial information.
My company has code that integrates with activedirectory/LDAP for centralized userid/password login. Currently, the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.