Статья посвящена описанию процесса проектирования и разработки программы реализации рисования прямоугольника и прямоугольника со скругленными углами, а также метода, увеличивающего прямоугольники в два раза и метода, выводящего информацию о прямоугольнике (длина, ширина, скругления, периметр, площадь) на основе библиотеки 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 который содержит следующие модули:
- CRectangleApp данный класс получает все сообщения о событиях и затем направляет их классам CFrameView и CView.
- CRectangleDoc содержит структуры, позволяющие хранить и манипулировать вводимыми в документ данными.
- CRectangleView отвечает за графическое представление документа пользователю. Данный класс передает введенную информацию классу CDocument, а также получает от него информацию для графического вывода. Этот класс содержит несколько основных модулей:
— конструктор класса CRectangleView() — отвечает за выделение памяти;
— myDraw(CDC* pDC) — отвечает за вывод необходимых данных на экран;
— On32771()- отвечает за отрисовку прямоугольников и информации о них после увеличения в 2 раза.
- Rect — созданный класс, хранящий методы прямоугольника отвечающие за установление длинны и ширины (setData(int H, int W), расчет площади (S()), периметра(P()), создания строки с информацией (Information(CString &str)) и метод увеличивающий в 2 раза(Increase());
- RectRound — класс, наследованный от класса Rect. Содержит переопределенные методы класса Rect.
- CMainFrame класс окна, образующий его рамку. Он содержит меню, панель инструментов, полосы прокрутки, а также многие другие видимые объекты, относящиеся к рамке окна. Данный класс определяет какая часть документа является видимой в каждый момент времени.
Основная схема на рисунке 2.
Рис. 2. Общая схема
Схема OnDraw(CDC* pDC) на рисунке 3.
Рис. 3. Блок-схема OnDraw(CDC* pDC)
Схема кнопки «Увеличить в два раза» On32771() на рисунке 4.
Рис. 4. Блок-схема кнопки On32771()
Результаты работы программы
Программа будет корректно выполняться на компьютерах не ниже Intel Pentium 4, размер оперативной памяти не менее 512 Мб и жестким диском емкостью не менее 60 Гбайт. Операционная система должна быть Windows ХР/7/8/10/11.
Программа вызывается запуском исполняемого файла, его размер 524 килобайта. Программа занимает 4 мегабайта оперативной памяти.
В результате запуска программы отобразятся два прямоугольника: обычный и со скругленными углами. Над ними отражена строка информации: длина, ширина, скругления (если есть), периметр, площадь. Работа программы на рисунке 5.
Рис. 5. Работа программы
При нажатии на кнопку «Увеличить в два раза» прямоугольники увеличиваются, и информация обновляется. Результат работы кнопки на рисунке 6.
Рис. 6. Результат работы кнопки
Заключение
В результате работы спроектирована и разработана программа реализации рисования прямоугольника и прямоугольника со скругленными углами, а также метода, увеличивающего прямоугольники в два раза и метода, выводящего информацию о прямоугольнике (длина, ширина, скругления, периметр, площадь) на основе библиотеки MFC в Visual C++ Studio.
Литература:
- Марапулец Ю. В. Язык С++. Основы программирования. П.-Камчатский: КамГУ им. Витуса Беринга, 2011. — 158 с.
- Д.Круглински, С.Уингоу, Д.Шефферд. Программирование на Microsoft Visual C++ для профессионалов. С.-Пб.: Питер, 2004г.
- Щупак Ю. А. Win32 API. Эффективная разработка приложений. С.-Пб.: Питер, 2007.-572с.