Перемещение треугольника
Треугольник — простейший многоугольник, имеющий 3 вершины (угла) и 3 стороны; часть плоскости, ограниченная тремя точками, и тремя отрезками, попарно соединяющими эти точки. Если все три точки треугольника лежат на одной прямой, он называется вырожденным.
Типы треугольников
Поскольку сумма углов треугольника равна 180°, то не менее двух углов в треугольнике должны быть острыми (меньшими 90°). Выделяют следующие виды треугольников:
- Если все углы треугольника острые, то треугольник называется остроугольным;
- Если один из углов треугольника тупой (больше 90°), то треугольник называется тупоугольным;
- Если один из углов треугольника прямой (равен 90°), то треугольник называется прямоугольным. Две стороны, образующие прямой угол, называются катетами, а сторона, противолежащая прямому углу, называется гипотенузой.
Задача программы
Написать программу Windows Application, с помощью которой можно было бы перемещать треугольник в клиентской области Windows Application.
Cкриншот работы программы

Ход выполнения лабораторной работы
Для работы с треугольником в рамках задачи была создана многоуголная область (CRgn::CreatePolygonRgn(…)) по точкам являющимся вершинами треугольника. При перемещении треугольника по экрану область смещается (CRng::OffsetRgn(…)). Для отображения треугольника на экране область закрашивается(CPaintDC:: FillRgn(…)).
Программа реагирует на следующие события:
- нажатие левой кнопки мыши (ON_WM_LBUTTONDOWN()) – захват треугольника
- передвижение мыши (ON_WM_MOUSEMOVE()) – перемещение треугольника
- отжатие левой кнопки мыши (ON_WM_LBUTTONUP()) – фиксация треугольника в новом положении
При программировании с использованием классов MFC Windows приложение строится на базе объектов и объектного подхода к программированию. Это вносит все плюсы объектно-ориентированного программирования. Наличие классов реализующих всю базовую функциональность интерфейсных элементов Windows позволяет быстро решать типовые задачи, опираясь при этом на заложенные в Windows алгоритмы работы интерфейса.
Содержание архива:
- файл проэкта, необходимые .cpp файлы, файл ресурсов
- отчёт в формате .doc
- .exe файл в папке debug
Проeкт разработан в: Visual Studio 2008