приложение mfc на visual c

Создание приложений MFC на основе форм

Однодокументный интерфейс (SDI), приложение на основе форм, позволяет одновременно выполнять только один экземпляр определенной формы. Можно одновременно запустить различные формы из приложения на основе форм-SDI, выбрав новую форму в меню « файл ».

Если вы создаете многодокументный интерфейс (MDI), приложение на основе форм может поддерживать несколько экземпляров одной и той же формы.

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

SDI, MDI и несколько приложений для работы с документами верхнего уровня — это все формы, основанные на архитектуре «документ-представление».

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

После завершения работы с мастером откроется проект, и если в CFormView качестве базового класса был выбран (или класс, наследующий от CFormView ), или если вы создали приложение на основе диалогового окна, Visual C++ откроет редактор диалоговых окон. На этом этапе вы готовы к проектированию первой формы.

Начало создания исполняемого файла MFC на основе форм

Следуйте инструкциям по созданию приложения MFC для приложения MFC на основе форм.

Выберите один документ, несколько документов или несколько документов верхнего уровня.

Если вы выбрали SDI, MDI или несколько приложений интерфейса документов верхнего уровня, по умолчанию CView задается в качестве базового класса для представления приложения на странице создаваемые классы мастера. Чтобы создать приложение на основе форм, необходимо выбрать в CFormView качестве базового класса для представления приложения. Обратите внимание, что мастер не предоставляет поддержку печати для приложения на основе форм.

Задайте любые другие необходимые параметры проекта на других страницах мастера.

Источник

мастер приложений MFC

мастер приложений MFC создает приложение, которое при компиляции реализует базовые функции Windows исполняемого приложения (.exe). Приложение MFC Starter содержит файлы исходного кода C++ (CPP), файлы ресурсов (. RC), файлы заголовков (h) и файл проекта (VCXPROJ). Код, создаваемый в этих начальных файлах, основан на MFC.

В зависимости от выбранных параметров мастер создает дополнительные файлы в проекте. Например, при выборе контекстной справки на странице Дополнительные компоненты мастер создает файлы, необходимые для компиляции файлов справки проекта. дополнительные сведения о файлах, создаваемых мастером, см. в разделе типы файлов, созданные для проектов Visual Studio C++, а также в файле Readme.txt в проекте.

Обзор

На этой странице мастера описываются текущие параметры приложения для создаваемого приложения MFC. По умолчанию мастер создает проект следующим образом:

Проект создается с поддержкой многодокументного интерфейса с вкладками (MDI). Дополнительные сведения см. в разделе SDI и MDI.

Проект использует библиотеки Юникода.

проект создается с использованием Visual Studio стиля проекта и включает переключение визуального стиля.

Проект использует MFC в общей библиотеке DLL. Дополнительные сведения см. в статье Create C/C++ DLL in Visual Studio.

Проект поддерживает печать и предварительный просмотр печати.

проект поддерживает ActiveXные элементы управления. дополнительные сведения см. в разделе последовательность операций для создания элементов управления ActiveX.

проект не поддерживает автоматизацию, MAPI, Windows сокетыили Active Accessibility.

Класс представления проекта является производным от класса CView.

Класс приложения проекта является производным от класса CWinAppEx.

Класс документа проекта является производным от класса CDocument.

Класс основного фрейма проекта является производным от класса CMDIFrameWndEx.

Класс дочернего фрейма проекта является производным от класса CMDIChildWndEx.

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

После создания проекта приложения MFC в него можно добавлять объекты или элементы управления с помощью мастеров Visual C++ кода.

Источник

Пошаговое руководство. Использование новых элементов управления оболочки MFC

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

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

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

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

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

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

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

Нажмите кнопку Создать, чтобы создать проект.

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

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

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

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

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

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

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

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

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

Найдите #pragma once директиву, расположенную в верхней части файла заголовка. Непосредственно под ним добавьте следующий код, чтобы включить заголовочный файл CMFCShellListCtrl :

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

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

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

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

Теперь мы обновляем CMFCShellControlsView класс для обработки WM_CREATE сообщения Windows. Откройте окно представление классов и выберите CMFCShellControlsView класс. Щелкните правой кнопкой мыши и выберите Свойства.

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

Повторите предыдущий шаг, но для WM_SIZE сообщения. Это приведет к перерисовке представления приложений при изменении пользователем размера окна приложения. Замените определение OnSize метода следующим кодом:

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

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

Поскольку мы вызываем методы из CMainFrame класса, мы должны добавить #include директиву в начало исходного файла мфкшеллконтролсвиев. cpp:

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

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

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

Источник

Приложения MFC для рабочего стола

Библиотека Microsoft Foundation Class (MFC) предоставляет объектно-ориентированную программу-оболочку для многих API Win32 и COM. Хотя ее можно использовать для создания очень простых классических приложений, в наибольшей степени она полезна при разработке сложных пользовательских интерфейсов с многочисленными элементами управления. MFC 11.0 можно использовать для создания приложений с пользовательскими интерфейсами в стиле Office. документацию по самой платформе Windows см. в документации по Windows. сведения о создании Windows приложений на C++ без MFC см. в разделе сборка настольных Windows приложений с помощью API Win32.

Справочник по MFC описывает классы, глобальные функции, глобальные переменные и макросы, составляющие библиотеку MFC.

Отдельные диаграммы иерархии, поставляемые с каждым классом, полезны для обнаружения базовых классов. Справочник MFC обычно не описывает наследуемые функции-члены или наследуемые операторы. Сведения об этих функциях см. в базовых классах, описанных в диаграммах иерархий.

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

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

классы MFC и их члены нельзя использовать в приложениях, которые выполняются в среде среда выполнения Windows.

Библиотеки MFC (DLL) для кодирования многобайтовых символов (MBCS) больше не включается в Visual Studio, однако доступны как дополнительный компонент Visual Studio. Дополнительные сведения см. в разделе надстройка MFC MBCS DLL.

в этом разделе

Иерархическая диаграмма
Визуально представляет связи класса в библиотеке классов.

Общие сведения о классах
Перечисляет классы в библиотеке MFC по категориям.

Пошаговые руководства
Содержит статьи с пошаговыми руководствами для различных задач, связанных с функциями библиотеки MFC.

Технические примечания
Содержит ссылки на разделы, которые специализированные командой разработки MFC, в библиотеке классов.

Настройка для MFC
Предоставляет советы по пользовательской настройке приложения MFC.

Классы
Предоставляет ссылки и данные файла заголовка для классов MFC.

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

Макросы и глобальные объекты
Предоставляет ссылки на глобальные функции и макросы в библиотеке MFC.

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

Мастера и диалоговые окна MFC
Руководство по функциям и компонентам в Visual Studio для создания приложений MFC.

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

Связанные разделы

Категории иерархических диаграмм
Описывает диаграммы иерархии MFC по категориям.

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

Примеры MFC
Содержит ссылки на примеры использования MFC.

Справочные материалы по библиотекам Visual C++
Содержит ссылки на различные библиотеки, входящие в состав Visual C++, включая шаблоны ATL, MFC, OLE DB, библиотеку времени выполнения языка C, а также стандартную библиотеку C++.

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

Источник

BestProg

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

Выполнение

1. Загрузить MS Visual Studio.
2. Создание проекта

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

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

приложение mfc на visual c. 05 02 00 001 01. приложение mfc на visual c фото. приложение mfc на visual c-05 02 00 001 01. картинка приложение mfc на visual c. картинка 05 02 00 001 01.

Рис. 1. Выбор приложения типа « MFC Application «

В результате, вызовется мастер « MFC Application Wizard » (рис. 2). В окне мастера выдается информация о текущих настройках проекта, которые можно оставить без изменений нажатием кнопки « Finish «.

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

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

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

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

4. Внешний вид приложения — поддается настройке (панели инструментов, панели состояния приложения и т.п.).

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

приложение mfc на visual c. 05 02 00 001 02. приложение mfc на visual c фото. приложение mfc на visual c-05 02 00 001 02. картинка приложение mfc на visual c. картинка 05 02 00 001 02.

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

В нашем случае выбираем другой вариант, делаем клик на кнопке « Next > «.

Вызовется окно « Application Type «, которое изображено на рисунке 3.

приложение mfc на visual c. 05 02 00 001 03. приложение mfc на visual c фото. приложение mfc на visual c-05 02 00 001 03. картинка приложение mfc на visual c. картинка 05 02 00 001 03.

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

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

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

Поле « Use of MFC: » определяет, как нужно формировать MFC библиотеку. Есть два варианта. Первый вариант « Use MFC in a shared DLL » предлагает, чтобы библиотека MFC была распределенной динамично связываемой библиотекой (shared DLL ). Использование DLL как динамической библиотеки сокращает объем приложения но усложняет установку продукта.

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

После выбора « Next > » откроется окно « User Interface Features «. В этом окне предлагается выбрать оформление фрейма (рамки) главного окна приложения. Фрейм включает в себя системное меню, строку заголовка, кнопки минимизации и максимизации, границы окна и т.п..

приложение mfc на visual c. 05 02 00 001 04. приложение mfc на visual c фото. приложение mfc на visual c-05 02 00 001 04. картинка приложение mfc на visual c. картинка 05 02 00 001 04.

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

Свойства фрейма « Main frame styles » есть такие:

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

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

После установления опций фрейма делаем клик на « Next > «. В результате откроется окно как показано на рисунке 5.

приложение mfc на visual c. 05 02 00 001 05. приложение mfc на visual c фото. приложение mfc на visual c-05 02 00 001 05. картинка приложение mfc на visual c. картинка 05 02 00 001 05.

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

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

приложение mfc на visual c. 05 02 00 001 06. приложение mfc на visual c фото. приложение mfc на visual c-05 02 00 001 06. картинка приложение mfc на visual c. картинка 05 02 00 001 06.

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

Оставляем все как есть и делаем клик на « Finish «. Сформируется программный код классов. Форма приложения будет иметь вид как показано на рис. 7.

приложение mfc на visual c. 05 02 00 001 07. приложение mfc на visual c фото. приложение mfc на visual c-05 02 00 001 07. картинка приложение mfc на visual c. картинка 05 02 00 001 07.

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

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

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

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

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

Классу CMFCApplication1App соответствуют файлы « MFCApplication1.h » и « MFCApplication1.cpp «.

Классу CMFCApplication1Dlg соответствуют файлы « MFCApplication1Dlg.h » и « MFCApplication1Dlg.cp p».

приложение mfc на visual c. 05 02 00 001 08. приложение mfc на visual c фото. приложение mfc на visual c-05 02 00 001 08. картинка приложение mfc на visual c. картинка 05 02 00 001 08.

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

Листинг файла заголовка «MFCApplication1.h» для приложения следующий:

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

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

означает, что используется карта сообщений.

Реализация класса CMFCApplication1App приведена в файле « CMFCApplication1App.cpp «.

Листинг файла «CMFCApplication1App.cpp» следующий.

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *