Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовик ПиОА / СправПосЛР89.doc
Скачиваний:
33
Добавлен:
22.03.2015
Размер:
524.8 Кб
Скачать

14.9 Создание многомодульного приложения. Вывод графических объектов

Цель: Создание приложения с двумя дополнительными окнами:

первое(главное) – для отображения значений параметров и результата вычислений,

второе – для задания значений параметров,

третье – для вычерчивания рисунка треугольника.

Последовательность выполнения:

1. Открыть новое приложение и создать проект в новой папке (файл реализации Unit1.cpp).

2. Поместить на форму объект GroupBox1, изменив его название на «Параметры треугольника» (свойствоCaption), и на него поместить два объектаLabel1 иLabel2.

3. Поместить на форму объект GroupBox2 (название: «Результаты расчетов») и на него поместить объектLabel3.

4. Перейти на форму (ЩЛКМ на форме вне объектов) и создать объект Button1.

5. Написать код обработчика событии OnClickдля объектаButton1:

GroupBox2->Color = clBtnFace;

GroupBox1->Color = clYellow;

Form2 -> ShowModal();

6. Открыть вторую форму (File  New Form) и сохранить с именем Unit2.cpp (Save as).

7. Поместить на форму следующие объекты:

Edit1 иLabel1 с названием: «1-й параметр»;

Edit2 иLabel2 с названием: «2-й параметр»;

Button1 с названием «ОК».

8. Создать код обработчика события OnClickдля активной кнопки:

Stringp1 =Form2 ->Edit1 ->Text; // Получить первый параметр

Form1 ->Label1 ->Caption= "Катет1 = "+p1; // ... и отобразить его

Stringp2 =Form2 ->Edit2 ->Text; // Получить второй параметр

Form1 ->Label2 ->Caption= "Катет2 = "+p2; // ... и отобразить его

Form1 -> GroupBox1 -> Color = clBtnFace;

v1 = StrToFloat(p1);

v2 = StrToFloat(p2);

Form1 -> Label3 -> Caption = "Гипотенуза = " +

FloatToStrF((sqrt(v1 * v1 + v2 * v2)), ffFixed, 8, 3);

Form1 -> GroupBox2 -> Color = clYellow;

Form1 -> GroupBox1 -> Color = clBtnFace;

Form3 ->ShowModal(); // Открыть форму для отображения треугольника

9. Открыть третью форму для отображения треугольника и сохранить ее с именем Unit3.cpp. Для отображения рисунка используется свойствоCanvasклассаTFormи его подсвойствоPixels[x][y](х иy– координаты токи).

10. Перейти на вкладку EventsИнспектора объектов, найти событиеOnPaint, Дважды ЩЛКМ на правом белом поле события и в тело обработчика события дописать код:

floatv11=Form2 ->v1; // Получить значение первого параметра

floatv22=Form2 ->v2; // Получить значение второго параметра

for (int x = 0;x < v11; x++)

Canvas->Pixels[x+ 8][8] =clRed; // Вывод первого катета

for (int y = 0; y < v22; y++)

Canvas->Pixels[8][y+8] =clRed; // Вывод второго катета

for (int x = 0; x < v11; x++)

Canvas -> Pixels[x + 8][v22 * (v11 - x)/ v11 + 8] = clRed; // Вывод гипотенузы

Значения параметров треугольника хранятся в переменных вещественного типа (float)v1 иv2. Их необходимо объявить в разделеpublicклассаTForm2 (файлUnit2.h).

11. Сохранить проект, запустить процедуру полной обработки и отладить программу.

Порядок работы с приложением:

1. Щелкнуть на кнопке ОК на первой форме.

2. Ввести значения параметров 1 и 2 на открывшейся второй форме.

3. Щелкнуть на кнопке ОК на второй форме. На первой форме должны появиться значения параметров и результат расчета гипотенузы. На третьей форме отобразится треугольник с заданными параметрами.

4. Закрыть третью форму, изменить значения параметров и нажать кнопку ОК. На третьей форме отобразится новый треугольник, а на второй – новые значения параметров и новый результат.

5. Выход из приложения осуществляется закрыть форм в следующей последовательности: Form3,Form2,Form1.

Дополнительное задание:

1. Реализовать вывод на первой форме значение угла, прилежащего к меньшему катету.

2. Изменить цвет сторон треугольника.

Соседние файлы в папке Курсовик ПиОА