Разработка программного кода на основе библиотеки MFC и объектно ориентированного подхода | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 4 января, печатный экземпляр отправим 8 января.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №4 (399) январь 2022 г.

Дата публикации: 25.01.2022

Статья просмотрена: 47 раз

Библиографическое описание:

Лобашевская, В. А. Разработка программного кода на основе библиотеки MFC и объектно ориентированного подхода / В. А. Лобашевская. — Текст : непосредственный // Молодой ученый. — 2022. — № 4 (399). — С. 30-34. — URL: https://moluch.ru/archive/399/88181/ (дата обращения: 22.12.2024).



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

Ключевые слова: visual c++, MFC, наследование классов.

Введение

Программа должна отображать прямоугольник и прямоугольник со скругленными углами. Также должна отображаться информация о фигурах: длинны сторон, периметр, площадь и значение скругления у второго прямоугольника. При нажатии на кнопку «Увеличить в два раза» прямоугольники должны увеличиться в 2 раза и обновиться информация о них.

Описание логической структуры

В среде Visual C++ можно строить различные типы проектов. Такие проекты после их создания можно компилировать и запускать на исполнение. Фирма Microsoft разработала специальный инструментарий, облегчающий и ускоряющий создание проектов в среде Visual C++. Для разработки курсового проекта понадобится мастер MFC AppWizard (exe) — при помощи которого можно создать проект Windows-приложения, которое имеет однодокументный, многодокументный или диалоговый интерфейс. Для данного проекта потребуется однодокументный интерфейс.

Программа состоит из следующих модулей, представленных на рисунке 1.

Программные модули проекта

Рис. 1. Программные модули проекта

При создании приложений автоматически создается 4 основных класса:

— CRectangleApp — класс, производный от CWinApp;

— CMainFrame — класс, производный от CFrameView;

— CRectangleDoc — класс, производный от CDocument;

— CRectangleView — класс, производный от CView.

Главный модуль это Rectangle classes который содержит следующие модули:

  1. CRectangleApp данный класс получает все сообщения о событиях и затем направляет их классам CFrameView и CView.
  2. CRectangleDoc содержит структуры, позволяющие хранить и манипулировать вводимыми в документ данными.
  3. CRectangleView отвечает за графическое представление документа пользователю. Данный класс передает введенную информацию классу CDocument, а также получает от него информацию для графического вывода. Этот класс содержит несколько основных модулей:

— конструктор класса CRectangleView() — отвечает за выделение памяти;

— myDraw(CDC* pDC) — отвечает за вывод необходимых данных на экран;

On32771()- отвечает за отрисовку прямоугольников и информации о них после увеличения в 2 раза.

  1. Rect — созданный класс, хранящий методы прямоугольника отвечающие за установление длинны и ширины (setData(int H, int W), расчет площади (S()), периметра(P()), создания строки с информацией (Information(CString &str)) и метод увеличивающий в 2 раза(Increase());
  2. RectRound — класс, наследованный от класса Rect. Содержит переопределенные методы класса Rect.
  3. CMainFrame класс окна, образующий его рамку. Он содержит меню, панель инструментов, полосы прокрутки, а также многие другие видимые объекты, относящиеся к рамке окна. Данный класс определяет какая часть документа является видимой в каждый момент времени.

Основная схема на рисунке 2.

Общая схема

Рис. 2. Общая схема

Схема OnDraw(CDC* pDC) на рисунке 3.

Блок-схема OnDraw(CDC* pDC)

Рис. 3. Блок-схема OnDraw(CDC* pDC)

Схема кнопки «Увеличить в два раза» On32771() на рисунке 4.

Блок-схема кнопки On32771()

Рис. 4. Блок-схема кнопки On32771()

Результаты работы программы

Программа будет корректно выполняться на компьютерах не ниже Intel Pentium 4, размер оперативной памяти не менее 512 Мб и жестким диском емкостью не менее 60 Гбайт. Операционная система должна быть Windows ХР/7/8/10/11.

Программа вызывается запуском исполняемого файла, его размер 524 килобайта. Программа занимает 4 мегабайта оперативной памяти.

В результате запуска программы отобразятся два прямоугольника: обычный и со скругленными углами. Над ними отражена строка информации: длина, ширина, скругления (если есть), периметр, площадь. Работа программы на рисунке 5.

Работа программы

Рис. 5. Работа программы

При нажатии на кнопку «Увеличить в два раза» прямоугольники увеличиваются, и информация обновляется. Результат работы кнопки на рисунке 6. Результат работы кнопки

Рис. 6. Результат работы кнопки

Заключение

В результате работы спроектирована и разработана программа реализации рисования прямоугольника и прямоугольника со скругленными углами, а также метода, увеличивающего прямоугольники в два раза и метода, выводящего информацию о прямоугольнике (длина, ширина, скругления, периметр, площадь) на основе библиотеки MFC в Visual C++ Studio.

Литература:

  1. Марапулец Ю. В. Язык С++. Основы программирования. П.-Камчатский: КамГУ им. Витуса Беринга, 2011. — 158 с.
  2. Д.Круглински, С.Уингоу, Д.Шефферд. Программирование на Microsoft Visual C++ для профессионалов. С.-Пб.: Питер, 2004г.
  3. Щупак Ю. А. Win32 API. Эффективная разработка приложений. С.-Пб.: Питер, 2007.-572с.
Основные термины (генерируются автоматически): MFC, CDC, класс, прямоугольник, информация, раз, оперативная память, основа библиотеки, работа программы, результат работы кнопки.


Похожие статьи

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

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

Методы обработки видеоизображений с помощью языка программирования Python

В статье рассматриваются современные методы обработки видеоизображений с использованием языка программирования Python. Описываются ключевые библиотеки, такие как OpenCV и scikit-image, а также их применение для выполнения задач, включая распознавание...

Теоретические аспекты создания обозревателя файловой директории с применением кроссплатформенного фреймворка Qt

В статье подробно разобран пример программы, написанной на языке C++ на основе кроссплатформенного фреймворка Qt. Программа InterView написана программистами компании Qt, и входит в состав примеров, поставляемых вместе с пакетом Qt Creator. На её при...

Разработка веб-сервиса для хранения и передачи данных

В данной статье рассматривается процесс разработки веб-сервиса для облачного хранения и передачи данных, описываются основные аспекты создания серверной части с использованием фреймворка Spring и реализации клиентской части с использованием React, а ...

Адаптивный дизайн в проектировании интерфейсов

В статье описывается разработка мобильных приложений и сайтов. Дается определение языкам, используемым при создании сайта, а также характеристика front-end и back-end разработкам. Подробно рассматривается адаптивный дизайн, выделяются его особенности...

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

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

Разработка 3D-моделей в Blender для интеграции в Unity

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

Требования к разработке специализированных меток для функционирования маркерных приложений с AR-технологией на базе платформы Vuforia

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

Определение кратчайшего пути между двумя объектами с помощью программы QGIS с использованием модуля Road Graph

В этой статье представлена информация о модуле Road Graph в программе QGIS и пример того, как этот модуль работает. Модуль Road Graph работает на алгоритме Дейкстры, определяющем кратчайшие расстояния между двумя объектами (адресами).

Инструменты для анализа данных: сравнение Python, R и других популярных платформ

В статье автор сравнил различные языки программирование такие как «Python», «R», «Julia», «SAS» и «MATLAB» и выявил их характерные особенности, на основе которых каждый сможет для себя решить с каким языком программирования он захочет работать.

Похожие статьи

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

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

Методы обработки видеоизображений с помощью языка программирования Python

В статье рассматриваются современные методы обработки видеоизображений с использованием языка программирования Python. Описываются ключевые библиотеки, такие как OpenCV и scikit-image, а также их применение для выполнения задач, включая распознавание...

Теоретические аспекты создания обозревателя файловой директории с применением кроссплатформенного фреймворка Qt

В статье подробно разобран пример программы, написанной на языке C++ на основе кроссплатформенного фреймворка Qt. Программа InterView написана программистами компании Qt, и входит в состав примеров, поставляемых вместе с пакетом Qt Creator. На её при...

Разработка веб-сервиса для хранения и передачи данных

В данной статье рассматривается процесс разработки веб-сервиса для облачного хранения и передачи данных, описываются основные аспекты создания серверной части с использованием фреймворка Spring и реализации клиентской части с использованием React, а ...

Адаптивный дизайн в проектировании интерфейсов

В статье описывается разработка мобильных приложений и сайтов. Дается определение языкам, используемым при создании сайта, а также характеристика front-end и back-end разработкам. Подробно рассматривается адаптивный дизайн, выделяются его особенности...

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

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

Разработка 3D-моделей в Blender для интеграции в Unity

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

Требования к разработке специализированных меток для функционирования маркерных приложений с AR-технологией на базе платформы Vuforia

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

Определение кратчайшего пути между двумя объектами с помощью программы QGIS с использованием модуля Road Graph

В этой статье представлена информация о модуле Road Graph в программе QGIS и пример того, как этот модуль работает. Модуль Road Graph работает на алгоритме Дейкстры, определяющем кратчайшие расстояния между двумя объектами (адресами).

Инструменты для анализа данных: сравнение Python, R и других популярных платформ

В статье автор сравнил различные языки программирование такие как «Python», «R», «Julia», «SAS» и «MATLAB» и выявил их характерные особенности, на основе которых каждый сможет для себя решить с каким языком программирования он захочет работать.

Задать вопрос