Есть ли конструктор для MFC в Visual Studio, как для форм Windows в .NET? - PullRequest
27 голосов
/ 25 апреля 2010

Я программист .NET. Я никогда ничего не разрабатывал в MFC. В настоящее время мне нужно было написать приложение на C ++ (консоль) для какой-то задачи по обработке изображений. Я закончил писать это. Но дело в том, что мне нужно разработать графический интерфейс для этого. Ну, ничего сложного не будет. Просто окно с несколькими кнопками, радиокнопками, флажками, картинками и несколькими ползунками. вот и все.

Я использую VS 2008 и ожидал конструктора форм в стиле .NET.

Просто для тестирования я создал проект MFC (со всей конфигурацией по умолчанию), и эти файлы были созданы по умолчанию:

ChildFrm.cpp
MainFrm.cpp
mfc.cpp
mfcDoc.cpp
mfcView.cpp
stdafx.cpp

Теперь я не могу найти Designer. Нет View> Designer. Я открыл все выше * .cpp и в редакторе кода щелкнул правой кнопкой мыши, чтобы увидеть «Designer View». Панель инструментов пуста, потому что я нахожусь в режиме редактора кода.

Как открыть конструктор?

Ответы [ 3 ]

36 голосов
/ 26 апреля 2010

Это расширяет ответ Алекса Фарбера, который в основном правильный, но несколько неполный.

Когда вы впервые создаете свое приложение, вы можете выбрать тип приложения:

alt text

Как видите, для Application type по умолчанию выбрано «Несколько документов», но чуть ниже «Диалоговое окно». Выбор этого пункта приведет к созданию приложения, главное окно которого (по умолчанию) имеет кнопку «ОК» и кнопку «Отмена» (и статический элемент управления, который говорит что-то вроде «добавить элементы управления здесь»). Когда вы закончите создание приложения, вы можете добавить дополнительные элементы управления, чтобы оно могло выполнять что-то полезное. Это имеет тенденцию работать лучше всего для приложений, которые относительно недолговечны - то есть вы открываете их, заполняете несколько полей и нажимаете «ОК» (или «Отмена»), чтобы закрыть их снова. Он может работать и для других сценариев, но в этом его основная сила.

Для чего-то более похожего на типичное приложение .NET, с обычным меню и тому подобным, но также с возможностью размещать элементы управления на поверхности окна, вы обычно выбираете здесь «Одно приложение», но когда вы переходите к «» Экран «Сгенерированные классы»:

alt text

В раскрывающемся списке базового класса вашего класса просмотра вам нужно изменить выбор по умолчанию CView на CFormView. Это дает вам некоторую комбинацию: ваше приложение в целом основано на архитектуре Document / View, но ваш класс View в основном действует как диалог, поэтому он может содержать элементы управления. Когда вы нажмете кнопку «Готово», вы получите предупреждение о том, что поддержка печати будет недоступна. Если вы согласны с этим, он создаст ваше приложение. Чтобы отредактировать форму для вашего окна (в том же общем порядке, что и нужный конструктор), вы в левом окне инструмента для «Представления ресурсов» и откроете форму в списке диалогов:

alt text

Открытие, которое (снова) позволит вам использовать диалоговый редактор, чтобы поместить элементы управления и тому подобное в вашу форму:

alt text

Подводя итог: MFC дает вам еще несколько вариантов. Один (или, может быть, два) из этих вариантов довольно близко соответствуют тому, к чему вы привыкли .NET / WinForms. Другие довольно разные - и, как это бывает, варианты по умолчанию попадают в «другую» категорию.

9 голосов
/ 25 апреля 2010

Win32 конструктор диалогов доступен для диалогов. Создайте новый проект, выбрав «Приложение на основе диалога» на шаге мастера типов приложений. После создания проекта откройте представление ресурсов, разверните узел «Диалоги», дважды щелкните главное диалоговое окно и откройте конструктор диалогов.

Для приложений MDI / SDI, которые вы создали, вы можете выбрать CFormView в качестве базового класса на одном из шагов мастера. Это создает диалог, встроенный во фрейм, конструктор доступен в представлении ресурсов.

Кроме того, для каждого приложения Win32 / MFC вы можете добавить новый диалог (не главное окно) из представления ресурсов.

4 голосов
/ 25 апреля 2010

Смотрите здесь . Это не , как у дизайнера форм, но вам стоит начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...