Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_ раб4.doc
Скачиваний:
4
Добавлен:
14.11.2019
Размер:
109.57 Кб
Скачать

Лабораторная работа №4.

Тема:

Цель:

Упражнение 1. Создание меню приложения.

В этом упражнении вы создадите выпадающее меню, при щелчке по пунктам которого будут появляться различные фигуры.

Рис. 1. Окно Формы «Меню»

  1. Создайте проект. Назовите форму «Меню» (свойство Caption), сохраните в папке «6» модуль и проект под именами соответственно UnitMenu и ProjectMenu, дайте форме имя FormMenu (свойство Name). Вид формы представлен на рис. 1.

  2. Установите в любом месте формы компонент TMainMenu (главное меню) со страницы Standard (стандартные). Этот объект не будет видимым при работе программы.

  3. Выполните двойной щелчок на объекте. Появилось окно для создания меню. В свойстве Caption (заголовок) для пунктов меню последовательно впишите: «Фигуры», «Шар», «Прямоугольник», «Эллипс». Дайте имена пунктам меню с помощью свойства Name (имя): Figures, Circle, Rectangle и Ellipse.

  4. Со страницы Additional (дополнительные) поместите на форму компонент TShape (фигура) и в свойстве Shape (фигура) выберите значение: stCircle (круг). С помощью свойства Name (имя) дайте объекту имя sh_Circle.

  5. Теперь поместите на форму еще два компонента TShape и выберите для них в свойстве Shape (фигура): stRectangle (прямоугольник) и stEllipse (эллипс). С помощью свойства Name дайте объектам имена соответственно sh_Rectangle и sh_Ellipse.

  6. Для всех фигур выберите свойство Visible (видимый) и сделайте его равным False (ложь). Значение этого свойства можно выбрать одновременно для всех трех компонентов, щелкая на них указателем мыши при нажатой клавише Shift. Первоначально фигуры будут невидимы и появятся только при щелчке по соответствующему пункту меню. Закрасьте фигуры в различные цвета, для этого воспользуйтесь свойством Brush | Color (кисть | цвет).

  7. Запишите текст процедуры, которая будет выполняться при щелчке на пункте меню «Шар». Для этого в окне FormMenuMainMenu1 щелкните дважды на строке «Шар». Если окно отсутствует на экране, то его можно открыть двойным щелчком на объекте MainMenul (главное меню).

Впишите между операторными скобками следующий оператор:

FormMenu.sh_Circle.Visible:=True;

Этот оператор делает видимой первую фигуру (шар).

Теперь создайте процедуры для пунктов меню «Прямоугольник» и «Эллипс». В тела процедур впишите операторы:

FormMenu.sh_Rectangle.Visible:=True;

FormMenu.sh_Ellipse.Visible:=True;

Эти операторы делают видимыми вторую (прямоугольник) и третью (эллипс) фигуры.

  1. Сохраните изменения и запустите проект (клавиша F9).

  2. Проект работает, фигуры появляются по щелчку мыши, но они накладываются друг на друга. Сделайте так, чтобы на форме одновременно появлялась лишь одна фигура. Допишите в процедуру для пункта меню «Шар» следующие операторы:

FormMenu.sh_Rectangle.Visible:=False;

FormMenu.sh_Ellipse.Visible:=False;

Эти операторы делают невидимыми вторую и третью фигуры, когда открыта первая фигура.

  1. Операторы для остальных пунктов меню запишите самостоятельно.

  2. Сохраните изменения и запустите проект.

  3. Теперь используем системные часы для того, чтобы сделать фигуры видимыми лишь некоторое время. На странице System (системные) найдите компонент TTimer (таймер) и поместите его на форму. Этот объект также как и MainMenul будет невидимым, поэтому вы можете поместить его в любое место формы. Свойство Enabled (включено) для часов выберите: False (ложь). Сейчас таймер выключен.

  4. Добавьте в тело процедуры для пункта меню «Шар» следующий оператор:

FormMenu.Timerl. Enabled:=True;

Часы включились.

  1. Чтобы выключить часы и сделать Шар невидимым надо создать процедуру для часов. Для этого дважды щелкните на объекте Timerl и в тело процедуры впишите операторы:

FormMenu.sh_Circle.Visible:=False;

FormMenu.Timerl.Enabled:=False;

Первый оператор делает фигуру невидимой. Второй оператор выключает таймер.

  1. Сохраните изменения и запустите проект. Вы видите, что шар через некоторое время исчезает. Можно поэкспериментировать со временем «жизни» шара, изменяя свойство Interval (интервал) для объекта Timer1 (интервал измеряется в миллисекундах).