Mike Jablonski Mike Jablonski - 15 days ago 5
C++ Question

How can I view the main form in a Visual Studio Visual C++ Win32 Project so I can edit it?

I am migrating a C++ Builder program to a Visual Studio 2013 C++/Win32/Win32 Project.

Try as I may, however, after I create a new project (C++/Win32/Win32 Project), I can't see how to view/edit the main form which is created automatically when Visual Studio creates the project. I know how to view/edit forms in C#, C++ Builder, and Delphi, but I'm not seeing how to view the form so that I can add to it in VS 2013 for a C++ Windows application.

What is it that I do not understand? What rock is the main form hidden under in the IDE?

I know the form is there, with a simple menu and an about box, because it is displayed when the newly created project/program is run.

By form I mean the main window for the newly created application.


Sounds to me like you created a straight Win32 project (non-MFC). In that case, there isn't a form designer like you are accustomed to. Much is created by code.

You'll find something like:

    DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About);

Open the Resource Files, Win32Project1.rc, and open the Dialog subfolder, you'll see a dialog designer. Besides that, you won't find a Form that is editable the way C++ Builder allows. At first glance you'll think you have a form designer, but shortly you'll find it is pretty lacking. To design complex UIs requires more.

The bad news, if you are coming from a C++ Builder background, you will find Visual C++ not so RAD / WYSIWIG. There are several ways to do it, not all of which involve design time form wizards. Much of traditional Visual C++ programming creates the UI dynamically.

If you want true RAD with Visual Studio, you'll need to move to C# / .NET and Winforms or WPF.

If you are sticking with C++, I recommend you recreate your project and choose the MFC option, or look at Qt or another 3rd party UI framework. MFC (Microsoft Foundation Classes) and the MFC Project Wizard will give you more controls to choose from, and more of a jump start by helping you create an app skeleton with Single/Multiple Document Interface, etc.