Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИНДИВИД-Задания 202.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
501 Кб
Скачать
☆

Разработка меню

Цель работы: изучение и закрепление на практике основ конструирования структуры меню и связывания его с действиями в Delphi-проектах.

Введение

Меню стало стандартным элементом Windows-программ, поэтому Delphi содержит эффективные средства их создания и использования в составе проектов.

Г лавное меню. Проект может содержать несколько главных меню, но отображается на форме только одно, которое указано в свойстве Menu формы. Для создания меню необходимо на странице Standard мышью выбрать пиктограмму данного компонента , а затем щелкнуть левой клавишей мыши (ЛКМ) по самой форме.

Д ля наполнения меню командами и опциями надо двойном щелчком ЛКМ по пиктограмме компонента активизировать редактор MenuDesigner. Аналогичный результат достигается через контекстное меню, активизируемое правой клавишей мыши (ПКМ), после чего через опцию запускается MenuDesigner. Также можно активизировать кнопку ... в свойстве Items ОИО.

В результате появляется новое окошко <название формы>.MainMenu1, в котором появляется поле для ввода опции меню. Текст опции вводится в свойство Caption окна инспектора объектов (ОИО). После нажатия Enter введенный текст появляется в окошке. А само окошко сдвигается вправо.

Для создания выпадающих опций надо щелкнуть мышью ниже пунктирной рамки. А дальше они будут создаваться ниже сами.

Третий уровень иерархии создается уходом вправо от выпадающих опций. Для этого надо нажать Ctrl/→. Можно также щелкнуть ПКМ по подопции и в контекстном меню выбрать команду Create Submenu. А далее следовать этой же процедуре.

Символ & перед каким-либо символом в опции делает последний "горячим", т.е. эту опцию можно будет выбирать сочетанием клавиш Alt/<символ>.

Для создания разделительной линии в списке опций надо в него ввести "-".

Каждый элемент меню является объектом класса TMenuItem и нумеруется по системе N<номер>. Свойства этих объектов представлены в табл. 2.1.

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

Для элементов меню задано только одно событие - OnClick. Переход к листингу обработчика этого события выполняется двойной щелчок ЛКМ.

Табл. 2.1

Свойство

Его назначение

Bitmap: TBitmap

Содержит ссылку на связанное с опцией изображение. Оно появляется слева от опции, если не установлено свойство ImageIndex.

Break: TMenuBreak

Позволяет создавать многоколоночные списки. Возможные значения: mbNone, mbBreak (заканчивает предыдущий столбец и начинает новый), mb BarBreak (делает тоже и добавляет вертикальную черту).

Checked: Boolean

При установке значения True справа от опции появляется галочка .

Count: Integer

Содержит количество подопций в подчиненном меню

ShortOut: TShortCut

Задает клавиши быстрого выбора для данной опции

Default: boolean

Выбираемая по умолчанию опция

ImageIndex: Integer

Содержит индекс связанного с опцией изображения из компонента TImageList (страница Win32). В этом случае свойство Bitmap игнорируется. Если значение равно -1, то с списком нет никакой связи.

Контекстное меню (пиктограмма на странице Standard).

Каждый оконный компонент может быть связан только с одним контекстным меню. Данное меню создается также, как и главное, но только в один столбец. Привязывается меню к компоненту через свойство последнего PopupMenu.

Контекстное меню можно временно отключать от компонента переводом свойства AutoPopup: boolean в значение True.

Опции обоих видов меню можно временно дезактивировать посредством свойства Enabled или сделать невидимыми (вместе с нижележащей ветвью для главного меню) свойством Visible.

Выполнение лабораторной работы

  1. На основании иерархии объектов предметной области, заданной вариантом в табл. 2.2, сформировать главное меню проекта. В меню должно быть не менее 20 опций.

Таблица 2.2

№ варианта

Предметная область

1

Животный мир

2

Улицы города

3

Автомобили

4

Летательные аппараты

5

Средства вычислительной техники

6

Периодические издания

7

Книги

8

Сотрудники вуза

9

Студенты

10

Учебные курсы

11

Помещения вуза

12

Принтеры

13

Фирмы

14

Программные пакеты

15

Города

16

Водоемы

17

Медицинские учреждения

18

Страны мира

19

Учебные заведения

20

Плавательные средства

21

Птицы

22

Одежда

23

Виды спорта

24

Бытовые электроприборы

25

Магазины

26

Цветы

27

Фильмы

28

Музыкальные инструменты

29

Музыкальные произведения

30

Телевизионные передачи

31

Компьютерные игры

32

Мебель

33

Продукты питания

34

Товары магазина

35

Игрушки

36

Виды транспорта

  1. Две любые опции должны быть дополнены графическими пиктограммами.

  2. У двух конечных опций должны быть горячие клавиши. Выбор одной из таких опций приводит к:

  • для четных номеров варианта: появление в центре метки с фамилией студента;

  • для нечетных – появление в окне однострочного редактора фамилии студента.

Выбор другой такой опции приводит к исчезновению вышеуказанного текста.

  1. Создать контекстное меню, привязанное к редактору или метке, в зависимости от варианта. В меню пять опций: для четных номеров – для выбора цвета текста, для нечетных – для задания размера шрифта текста. Выбор опции сопровождается установкой рядом с ней символа .

  2. Работу программы показать преподавателю.

Содержание отчета:

1) Задание на выполнение лабораторной работы;

2) Структура проекта;

3) Листинг программы.

Контрольные вопросы

1) Можно ли спроектировать контекстное меню из нескольких столбцов?

2) Можно ли для одного компонента создать несколько контекстных меню?

3) Какие события связаны с опциями меню?

4) Какие графические изображения можно размещать в меню?

5) Как создать разделительные линии в меню?

Лабораторная работа № 3