Модифікація проекту створеного за допомогою бібліотеки MFC
Автор: Артем Заливанський • Июнь 4, 2022 • Лабораторная работа • 3,006 Слов (13 Страниц) • 186 Просмотры
Міністерство освіти і науки України
Вінницький національний технічний університет
Факультет інформаційних технологій та комп’ютерної інженерії
Кафедра обчислювальної техніки
Лабораторна робота №5
з дисципліни «Програмування»
Тема: «Модифікація проекту створеного за допомогою бібліотеки MFC»
Виконав:
Студент групи 1КІ-21Б
Заливанський А.О.
Перевірив:
Тарновський М.Г.
Вінниця 2022
Завдання: Модифікувати попередню програму, додавши зчитування координат з файлу. Після запуску програма виводить вікно без рисунку. Після натиснення на кнопку Init відкривається редактор (блокнот), в якому можна змінювати координати, а після виходу з редактора на екран виводяться фігури із заданими координатами. Після натиснення не кнопку Run фігура (фігури) зафарбовується в інший колір відповідно до завдання. Вихід з програми – кнопка Exit.
Код програми:
file.h:
class Point
{
private:
int x, y;
public:
Point() {}
Point(int x, int y)
{
this->x = x;
this->y = y;
}
int GetX() { return x; }
int GetY() { return y; }
void SetXY(int x, int y)
{
this->x = x;
this->y = y;
}
};
class Romb
{
protected: Point P1, P2, P3, P4;
public:
Romb(Point p1, Point p2, Point p3, Point p4)
{
P1 = p1;
P2 = p2;
P3 = p3;
P4 = p4;
}
Romb() {}
void Draw(CPaintDC& dc)
{
dc.MoveTo(P1.GetX(), P1.GetY());
dc.LineTo(P2.GetX(), P2.GetY());
dc.LineTo(P3.GetX(), P3.GetY());
dc.LineTo(P4.GetX(), P4.GetY());
dc.LineTo(P1.GetX(), P1.GetY());
}
int Perimetr()
{
return
sqrt(pow(P2.GetX() - P1.GetX(), 2) + pow(P2.GetY() - P1.GetY(), 2)) * 4;
}
};
class ColorRomb : public Romb
{
byte R = 0, G = 0, B = 0;
public:
ColorRomb() {}
ColorRomb(Point p1, Point p2, Point p3, Point p4)
{
P1 = p1;
P2 = p2;
P3 = p3;
P4 = p4;
}
void Draw(CPaintDC& dc)
{
CPen pen(PS_SOLID, 2, RGB(R, G, B));
dc.SelectObject(pen);
dc.MoveTo(P1.GetX(), P1.GetY());
dc.LineTo(P2.GetX(), P2.GetY());
...