Ответ 1
Это расширяет ответ Алекса Фарбера, который в основном правильный, но несколько неполный.
При первом создании приложения вы можете выбрать тип приложения:
Как вы можете видеть, выбор по умолчанию для Application type
- это "Несколько документов", но чуть ниже "Диалоговое окно". При выборе этого параметра будет создано приложение, основное окно которого (по умолчанию) имеет кнопку "ОК" и кнопку "Отмена" (и статический элемент управления, который говорит что-то вроде "добавить элементы управления здесь" ). Когда вы закончите создание приложения, вы можете добавить больше элементов управления, чтобы заставить его сделать что-то полезное. Это лучше всего подходит для приложений, которые относительно недолговечны - то есть вы открываете их, заполняете несколько полей и нажимаете "Ok" (или "Cancel" ), чтобы закрыть их снова. Он может работать и для других сценариев, но это действительно его основная сила.
Для чего-то большего, чем типичное приложение .NET, с обычным меню и т.д., а также возможность размещения элементов управления на поверхности окна, вы обычно выбираете "Single Application" здесь, но когда вы попадаете в "Сгенерированные классы":
В раскрывающемся списке базового класса вашего класса просмотра вам нужно изменить выбор по умолчанию CView
на CFormView
. Это дает вам комбинацию: ваше приложение в целом основано на архитектуре Document/View, но ваш класс View в основном действует как диалог, поэтому он может содержать элементы управления. Когда вы нажмете кнопку "Готово", она предупредит вас о том, что поддержка печати не будет доступна. Предполагая, что вы согласны с этим, оно создаст ваше приложение. Чтобы изменить форму для своего окна (в том же общем порядке, что и дизайнер, который вы ищете), вы в окне инструмента слева для "Просмотр ресурсов" и откройте форму в списке диалогов:
Открытие, которое (опять же) позволит вам использовать редактор диалогового окна для размещения элементов управления и т.д. в вашей форме:
Подводя итог: MFC дает вам еще несколько вариантов. Один (или, вроде, два) из этих вариантов достаточно близко соответствует тому, с чем вы привыкли с .NET/WinForms. Другие совсем другие - и, как это бывает, выбор по умолчанию попадает в категорию "разных".