Создание mfc приложений visual studio 2017

Обновлено: 06.07.2024

В этом пошаговом руководстве вы создадите приложение, напоминающее проводник. Вы создадите окно с двумя панелями. На левой панели будет содержаться объект кмфкшеллтриктрл , который отображает рабочий стол в иерархическом представлении. На правой панели будет содержаться кмфкшелллистктрл , отображающий файлы в папке, выбранной в левой области.

Предварительные требования

в Visual Studio 2017 и более поздних версиях поддержка MFC является дополнительным компонентом. чтобы установить его, откройте Visual Studio Installer из Windows меню. найдите версию Visual Studio, которую вы используете, и нажмите кнопку Modify (изменить ). Убедитесь, что установлен флажок Разработка классических приложений на C++ . В разделе необязательные компоненты установите флажок Поддержка MFC .

в этом пошаговом руководстве предполагается, что вы настроили Visual Studio для использования Параметры общей разработки. если вы используете другой параметр разработки, некоторые Visual Studio окна, используемые в этом пошаговом руководстве, могут не отображаться по умолчанию.

Создание нового приложения MFC с помощью мастера приложений MFC

эти действия зависят от используемой версии Visual Studio. Чтобы ознакомиться с документацией по предпочтительной версии Visual Studio, используйте селектор Версия. Он находится в верхней части оглавления на этой странице.

создание проекта MFC в Visual Studio 2019

В главном меню выберите Файл > Создать > Проект, чтобы открыть диалоговое окно Создание проекта.

В поле поиска вверху введите MFC , а затем выберите приложение MFC в списке результатов.

Щелкните Далее. На следующей странице введите имя проекта и при необходимости укажите расположение проекта.

После отображения мастера приложений MFC используйте следующие параметры.

Выберите Тип приложения слева. Затем выберите один документ и выберите Поддержка архитектуры документа/представления. в разделе стиль Project выберите Visual Studio и в раскрывающемся списке визуальный стиль и цвета выберите Office 2007 (синяя тема).

На панели Поддержка составных документов выберите нет.

Не вносите никаких изменений в область Свойства шаблона документа .

На панели функции интерфейса пользователя убедитесь, что выбран параметр использовать строку меню и панель инструментов . Оставьте все остальные параметры как есть.

на панели " дополнительные функции " выберите элементы управления ActiveX, манифест общего элемента управления и область навигации . Оставьте все остальное как есть. В области навигации мастер создаст панель слева от окна с CMFCShellTreeCtrl уже внедренным параметром.

Мы не будем вносить изменения в область созданные классы , поэтому нажмите кнопку Готово , чтобы создать новый проект MFC.

создание проекта MFC в Visual Studio 2017 или более ранней версии

Используйте Мастер приложений MFC для создания нового приложения MFC. Чтобы запустить мастер, в меню файл выберите пункт создать, а затем выберите Project. откроется диалоговое окно новый Project .

в диалоговом окне создание Project разверните узел Visual C++ на панели типы Project и выберите MFC. Затем в области шаблоны выберите приложение MFC. Введите имя проекта, например, MFCShellControls и нажмите кнопку ОК.

После отображения мастера приложений MFC используйте следующие параметры.

В области Тип приложения в разделе Тип приложения снимите флажок документы с вкладками . Затем выберите один документ и выберите Поддержка архитектуры документа/представления. в разделе стиль Project выберите Visual Studio и в раскрывающемся списке визуальный стиль и цвета выберите Office 2007 (синяя тема).

На панели Поддержка составных документов выберите нет.

Не вносите никаких изменений в панель строк шаблона документа .

на панели поддержка баз данных (Visual Studio 2015 и более ранних версий) выберите нет , так как приложение не использует базу данных.

На панели функции интерфейса пользователя убедитесь, что выбран параметр использовать строку меню и панель инструментов . Оставьте все остальные параметры как есть.

в области дополнительные функции в разделе дополнительные возможности выберите только ActiveX элементы управления и манифест общего элемента управления. В разделе Дополнительные области кадров выберите только параметр область навигации . Это приведет к тому, что мастер создаст панель слева от окна с CMFCShellTreeCtrl уже внедренным.

Мы не будем вносить изменения в область созданные классы , поэтому нажмите кнопку Готово , чтобы создать новый проект MFC.

Убедитесь, что приложение успешно создано путем его сборки и запуска. Чтобы выполнить сборку приложения, в меню Сборка выберите пункт построить решение. Если приложение успешно строится, запустите приложение, выбрав начать отладку в меню Отладка .

мастер автоматически создает приложение со стандартной строкой меню, стандартной панелью инструментов, стандартной строкой состояния и панелью Outlook слева от окна с представлением папок и представлением календаря .

Добавление элемента управления "список оболочек" в представление документа

В этом разделе вы добавите экземпляр CMFCShellListCtrl в представление, созданное мастером. Откройте файл заголовка представления, дважды щелкнув мфкшеллконтролсвиев. h в Обозреватель решений.

Теперь добавьте переменную-член типа CMFCShellListCtrl . Сначала необходимо указать следующий комментарий в файле заголовка:

Непосредственно над этим комментарием добавьте следующий код:

Мастер приложений MFC уже создал CMFCShellTreeCtrl объект в CMainFrame классе, но является защищенным членом. Мы будем обращаться к объекту позже, поэтому создадим для него метод доступа. Откройте файл заголовка Маинфрм. h, дважды щелкнув его в Обозреватель решений. Откройте следующий комментарий:

Непосредственно под ним добавьте следующее объявление метода:

Затем откройте исходный файл Маинфрм. cpp, дважды щелкнув его в Обозреватель решений. В нижней части этого файла добавьте следующее определение метода:

В OnCreate методе теперь создадим наш CMFCShellListCtrl объект. Найдите OnCreate Определение метода в исходном файле мфкшеллконтролсвиев. cpp и замените его реализацию следующим кодом:

Последним шагом является соединение CMFCShellTreeCtrl объектов и с CMFCShellListCtrl помощью метода Кмфкшеллтриктрл:: сетрелатедлист . После вызова CMFCShellTreeCtrl::SetRelatedList CMFCShellListCtrl компонент будет автоматически отображать содержимое элемента, выбранного в CMFCShellTreeCtrl . Мы подключим объекты в OnActivateView методе, который переопределен из CView:: онактиватевиев.

В файле заголовка Мфкшеллконтролсвиев. h внутри CMFCShellControlsView объявления класса добавьте следующее объявление метода:

Затем добавьте определение метода в исходный файл Мфкшеллконтролсвиев. cpp:

Убедитесь, что приложение успешно создано путем его сборки и запуска. Чтобы выполнить сборку приложения, в меню Сборка выберите пункт построить решение. Если приложение успешно строится, запустите его, выбрав начать отладку в меню Отладка .

Теперь вы увидите сведения об элементе, выбранном на CMFCShellTreeCtrl панели Просмотр. Если щелкнуть узел в CMFCShellTreeCtrl , CMFCShellListCtrl будет автоматически обновлен. Аналогично, если дважды щелкнуть папку в CMFCShellListCtrl , то CMFCShellTreeCtrl следует автоматически обновить.

Щелкните правой кнопкой мыши любой элемент в элементе управления "дерево" или в элементе управления "список". Вы получаете то же контекстное меню, что и при использовании реального обозревателя файлов.

Дальнейшие действия

мастер создал панель Outlook с панелью папок и областью календаря . Возможно, в окне обозревателя не имеет смысла использовать область календаря , поэтому теперь удалите эту панель.

CMFCShellListCtrl Поддерживает просмотр файлов в различных режимах, таких как крупные значки, мелкие значки, список и сведения. Обновите приложение, чтобы реализовать эту функцию. Указание. см. раздел Visual C++ Samples.

Приложение MFC является исполняемым приложением для Windows на основе библиотеки Microsoft Foundation Class (MFC). исполняемые файлы MFC обычно делятся на пять типов: стандартные Windows приложения, диалоговые окна, приложения на основе форм, приложения в стиле обозревателя и приложения в стиле веб-браузера. Дополнительные сведения см. в разделе:

Мастер приложений MFC создает соответствующие классы и файлы для приложений любого типа в зависимости от параметров, выбранных в мастере.

самый простой способ создать приложение mfc — использовать мастер приложений mfc (проект приложения mfc в Visual Studio 2019). чтобы создать консольное приложение MFC (программу командной строки, использующую библиотеки MFC, но выполняемые в окне консоли), используйте мастер Windows Desktop и выберите параметры консольное приложение и MFC headers .

Создание форм MFC или приложения на основе диалоговых окон

  1. в главном меню выберите файл > создать > Project.
  2. В поле поиска введите "MFC", а затем выберите приложение MFC в списке результатов.
  3. При необходимости измените значения по умолчанию, а затем нажмите кнопку создать , чтобы открыть Мастер приложений MFC.
  4. При необходимости измените значения конфигурации, а затем нажмите кнопку Готово.

Снимок экрана мастера приложений MFC в Visual Studios 2019.

Создание консольного приложения MFC

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

  1. в главном меню выберите файл > создать > Project.
  2. в поле поиска введите "Desktop", а затем выберите мастер Windows рабочего стола из списка результатов.
  3. при необходимости измените имя проекта, а затем нажмите кнопку далее , чтобы открыть мастер Windows Desktop.
  4. Установите флажок заголовки MFC и при необходимости задайте другие значения, а затем нажмите кнопку Готово.

снимок экрана мастера Windows Desktop в Visual Studios 2019.

Создание форм MFC или приложения на основе диалоговых окон

  1. в главном меню выберите файл > создать > Project.
  2. В разделе установленные шаблоны выберите Visual C++ > MFC/ATL. если вы не видите их, используйте Visual Studio Installer, чтобы добавить их.
  3. В центральной области выберите приложение MFC .
  4. При необходимости измените значения конфигурации, а затем нажмите кнопку Готово.

Снимок экрана мастера приложений MFC в Visual Studios 2017.

Создание консольного приложения MFC

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

  1. в главном меню выберите файл > создать > Project.
  2. в разделе установленные шаблоны выберите Visual C++ > Windows рабочий стол.
  3. в центральной области выберите мастер Windows рабочего стола .
  4. при необходимости измените имя проекта, а затем нажмите кнопку ок , чтобы открыть мастер Windows Desktop.
  5. Установите флажок заголовки MFC и при необходимости задайте другие значения, а затем нажмите кнопку Готово.

снимок экрана мастера Windows Desktop в Visual Studios 2017.

Создание форм MFC или приложения на основе диалоговых окон

Снимок экрана мастера приложений MFC в Visual Studios 2015.

Создание консольного приложения MFC

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

Сегодня учитель организовал МФЦ открыл Визуальный новый проект студии, но не нашел MFC, нашел установки, выберите модификацию выбора MFC справа.



После завершения установки создайте новый проект, выберите приложение MFC



В всплывающем окне «Интерфейс типа приложения» выберите тип приложения как «диалоговое окно», затем нажмите «Далее»;



В «Шаблон документа Свойства интерфейса», который появляется, различные свойства шаблона документа можно регулировать. Для диалога, они могут быть использованы непосредственно нажмите кнопку Далее.



В интерфейсе функции пользовательского интерфейса класс определяет стиль внешнего вида диалогового окна. В случае отсутствия конкретных требований вы можете напрямую нажмите Далее.



В интерфейсе Advanced Fuction вы можете проверить функции, которые необходимо поддерживать по мере необходимости. Когда вы генерируете проект MFC, VS2017 автоматически добавляет соответствующий код в соответствии с выбранной функцией, и установить прямую точку следующего шага.



В «сгенерированном интерфейсе класса» прямая точка выполняется для завершения настроек проекта. Для проектов диалоговых волей этих классов просмотра не генерируют, они используются в одном документе / многоподокументе проекта.







В это время приложение MFC является нормальным, и диалоговое окно закрыто, а затем продолжает развиваться.

Создание простого диалогового приложения Windows типа Dialog Based Application с использованием библиотеки MFC ( Microsoft Foundation Classes )

Выполнение

1. Загрузить MS Visual Studio.

Подробный пример создания приложения в MS Visual Studio по шаблону Windows Forms описывается здесь .

2. Создание проекта

После загрузки MS Visual Studio надо вызвать команду

В окне, которое откроется (рис. 1), выбрать шаблон C++ а в списке типов проектов выбрать MFC Application .

Имя папки, в которой сохраняется проект, даем, например:

Visual C++. Создание приложения по шаблону MFC Application

Текущие настройки проекта следующие.

1. Поддержка проектом многих документов – MDI Application ( MDI – Multiple Document Interface ). Это означает, что приложение может одновременно держать открытыми несколько документов, каждый из которых представлен отдельным файлом.

2. Нет поддержки баз данных.

3. Нет поддержки составленных (встроенных) документов (контейнер, мини-сервер, полный сервер документов и т.п.).

5. Внешний вид приложения такой как в MS Visual Studio 2008 .

6. Стиль типа проекта как Visual Studio (оформление панелей, открытие документов и т.п.).

Visual C++. Создание приложения MFC Applicaiton. Опции по умолчанию

Рис. 2. Опции по умолчанию

Visual C++. Создание приложения по шаблону MFC Application

Рис. 3. Окно Application Type

Объясним некоторые поля окна.

Тип приложения ( Application Type ):

1. Single Document – поддержка SDI -приложения ( Single Document Interface – интерфейс с единым документом). Это есть интерфейс с единым документом, который разрешает в каждый момент времени иметь открытым только один документ. Например, редактор Notepad (Блокнот).

3. Dialog Based – создание приложения как простого диалогового окна, которое вообще не открывает документов. Например, программа Калькулятор из пакета Windows .

4. Multiple top level documents – поддержка многодокументного интерфейса такая же как в MDI -приложении. Только в этом случае документы группируются в разных окнах в панели задач Windows , а не в границах приложения. Например, новые версии Windows поддерживают этот режим.

В нашем случае нужно выбрать Dialog Based , как показан на рисунке 3.

Для нашего приложения пока что не имеет значения, какой вариант формирования MFC библиотеки выбирать.

Visual C++. Шаблон MFC Application. Выбор оформления фрейма главного окна приложения

Рис. 4. Выбор оформления фрейма (рамки) главного окна приложения

  1. Thick frame (утолщенная рамка). В этом случае границы окна есть утолщенные.
  2. Minimize box – кнопка минимизации окна.
  3. Maximize box – кнопка максимизации окна.
  4. System menu – системное меню, которое размещается в левому верхнем углу окна.
  5. Minimized – режим, при котором во время запуска окно приложения свертывается в пиктограмму.
  6. Maximized – режим, при котором во время запуска окно приложения разворачивается на весь экран.

Выбор опций можно установить на собственное усмотрение.

В поле Dialog Title устанавливается название приложения.

Visual C++. Шаблон MFC Application.

Рис. 5. Окно настройки дополнительных свойств

В окне на рисунке 5 доступны опции настройки дополнительных свойств приложения. Объясним некоторые из них.

Visual C++. Шаблон MFC Application. Запрос к подтверждению имен создаваемых классов

Рис. 6. Запрос к подтверждению имен создаваемых классов

C++. MFC Application шаблон. Форма приложения после выполнения мастера App Wizard

Рис. 7. Форма приложения после выполнения мастера App Wizard

Теперь можно запустить приложение на выполнение и проанализировать его работу.

3. Классы, создаваемые в приложении

В результате выполненных действий, будет создано два класса с именами CMFCApplication1App и CMFCApplication1Dlg .

Класс CMFCApplication1App унаследован от CWinApp . Этот класс есть классом приложения в целом.

Класс CMFCApplication1Dlg есть классом диалога для приложения в целом.

После создания приложения в Solution Explorer создаются файлы классов (рис. 8).

Visual C++. Шаблон MFC Application. Файлы приложения в Solution Explorer

Рис. 8. Файлы приложения в Solution Explorer

В вышеприведенном листинге между директивой

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

В вышеприведенном листинге наибольший интерес представляет функция InitInstance() .

В функции InitInstance() создается окно приложения.

Описывается переменная dlg типа окно приложения.

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

Читайте также: