If you choose an SDI project, you get the entire Model-View-Controller infrastructure. You get a document class (inheriting from CDocument), which ideally should contain all the data and a presentation class (inheriting from CView) for display. You are given a hosting frame with an already attached menu, and there are functions that you can override to save and load to a file.
If you have a dialog application, you will get one dialog box. It. Of course, this dialogue may appear in others, but the application essentially consists of a dialogue.
If you are developing a small application that performs only one task, a dialog application is suitable because you do not need service data.
If you are developing an application in which the user will load, edit and save data, then the SDI path will be more appropriate.
Answering your question, I politely asked if there is a good reason why you choose MFC on top of Windows Forms. I believe that MFC was a great technology throughout the day, but Visual Studio offers more sophisticated tools (if you are ready to go the .NET path).
source share