МГИЭТ(ТУ)
Кафедра ВТ
факультет МПиТК
Лабораторная работа №5 «Механизм наследования классов и графическая визуализация динамических процессов
в многодокументных приложениях»
(компилятор «Borland C++ Builder»)
Составил: ст.пр. Тельминов О.А.
11/2001 г.
Цель работы: изучить работу механизма наследования в классах в среде Windows.
Задание
В работе представлены 3 блока задач. Каждому варианту соответствует одна задача (табл.). Во блоке 2 задание единое для всех вариантов (знак +).
Табл. Соответствие задач и вариантов
Вариант |
Задачи |
Вариант |
Задачи |
Вариант |
Задачи |
1 |
1,+,1 |
10 |
1,+,1 |
19 |
1,+,1 |
2 |
1,+,2 |
11 |
1,+,2 |
20 |
1,+,2 |
3 |
1,+,3 |
12 |
1,+,3 |
21 |
1,+,3 |
4 |
2,+,1 |
13 |
2,+,1 |
22 |
2,+,1 |
5 |
2,+,2 |
14 |
2,+,2 |
23 |
2,+,2 |
6 |
2,+,3 |
15 |
2,+,3 |
24 |
2,+,3 |
7 |
3,+,1 |
16 |
3,+,1 |
25 |
3,+,1 |
8 |
3,+,2 |
17 |
3,+,2 |
26 |
3,+,2 |
9 |
3,+,3 |
18 |
3,+,3 |
27 |
3,+,3 |
Необходимо написать, отладить и сдать 3 программы.
Начальные сведения
1. Модальное окно для просмотра/изменения свойств объекта.
Пусть форма Form1 содержит компонент Label1 для отображения текста. Необходимо создать форму Form2, в которой с помощью Edit1 и кнопок Ok, Apply изменять содержимое Label1 на форме Form1.
– Создайте приложение. Создайте еще одну форму Form2. Разместите на них компоненты, как показано на рис. 1.
Рис. 1. Базовая форма (слева) и форма свойств (справа)
– Вставьте перекрестные ссылки между формами: в Unit1.cpp добавьте #include “unit2.h”, в Unit2.cpp – #include “unit1.h”.
– Добавьте обработчик кнопки «Property»: Form2->ShowModal(); Это приведет к модальному отображению второй формы (пока Form2 не будет закрыта, Form1 останется недоступной).
– Добавьте обработчик события onActivate для Form2: Edit1->Text=Form1->Label1->Caption; Это приведет к тому, что при появлении формы Form2 в текстовое поле будет занесено текущее значение из Label1.
– Добавьте в обработчик кнопки «Apply» действие для обновления содержимого Label1: Form1->Label1->Caption=Edit1->Text;
– Добавьте в обработчик кнопки «Ok» действие для закрытия Form2: ModalResult=mrOk; При присвоении флагу ModalResult ненулевого положительного значения приводит к закрытию формы, если она была вызвана методом ShowModal. В данном случае константа mrOk соответствует нажатию на кнопку «Ok». Внимание! Перед тем, как закрыть окно, установите содержимое Label1 аналогично предыдущему пункту.
– Итак, после нажатия кнопки «Property» на основной форме появляется вторая форма. Нажатие «Apply» приводит к изменению Label1->Caption в соответствии с Edit1->Text, причем форма Form2 не закрывается. Нажатие «Ok» приводит к аналогичному изменению Edit1->Text, но с последующим закрытием Form2.