Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Posobie_2_chast.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
4.1 Mб
Скачать

Задания

  1. Добавить в лабиринт еще два движущихся объекта, при встрече с которыми начальный объект погибает.

6. Создание меню

6.1 Главное и вложенное меню

Практически все приложения Windows имеют меню. Меню представляет собой список объединенных по функциональному признаку пунктов, каждый из которых обозначает команду или вложенное меню (подменю). Выбор пункта меню равносилен выполнению соответствующей команды или раскрытию подменю.

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

Чтобы добавить к разрабатываемой программе меню, надо выбрать на панели компонентов Standard компонент TMainMenu и поместить его на форме в произвольном месте. Компонент TMainMenu невизуальный, т.е. при запуске программы он виден не будет.

Рис. 44 Форма с компонентом TMainMenu

Рассмотрим основные свойства компонента TMainMenu:

  • AutoHotkeys означает, будут ли создаваться автоматически клавиши быстрого вызова. Если выбрать maAutomatic, то Delphi будет автоматически создавать клавиши. При maManual придётся это делать вручную.

  • Images – сюда можно подключать списки картинок, которые смогут отображаться на пунктах меню.

  • Items – здесь описываются пункты меню.

Чтобы начать создавать меню, нужно вызвать Редактор меню двойным щелчком на объекте TMainMenu или по команде Menu Designer. Первоначально меню пустое, но имеет один выделенный элемент:

Рис. 45 Окно редактора меню

Для создания первой опции (как правило, это опция Файл) нужно перейти в Инспектор объектов и свойству Caption присвоить нужное название. В Windows опции меню, как правило, имеют возможность быстрого вызова при помощи сочетания клавиш ALT+<Key>, где Key – первая буква в названии данной опции. Первую букву следует сделать подчеркнутой, для создания такого подчеркивания перед буквой ставится символ &. После нажатия Enter созданный пункт меню появляется на Форме:

Рис. 46 Окно Редактора меню с опцией Файл

Следует обратить внимание на то, что Delphi автоматически создаёт следующий пустой пункт меню верхнего уровня. А щёлкнув в редакторе меню по синему прямоугольничку Файл, можно сразу получить пустой пункт меню второго уровня. Заголовки новых опций меню устанавливаются аналогично с помощью свойства Caption.

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

Рис. 47 Окно формы с меню

Пример. Разработать проект, в котором меню служит для загрузки на форму графических изображений.

Рис. 48 Образец окна будущего проекта

Поместим на форму компоненты Image (Графическое изображение) и MainMenu (Меню). С помощью Редактора меню создадим опции главного меню подобно тому, как изображено на рис. Для создания вложенного меню (опции Облака и Лес) следует выбрать в Редакторе меню пункт Рисунки и нажать комбинацию клавиш Ctrl + Вправо. При этом командам меню среда Delphi автоматически дает имена: N1 – опции Файл, N2 – опции Выход, N3 – опции Рисунки, N4 – опции Выход (в меню Файл), N5 – опции Облака, N6 – опции Лес.

Рис. 49 Окно Редактора меню

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

Обработчик события для команд меню вызывается щелчком по выбранной команде. Текст обработчика события для опции Лес будет выглядеть следующим образом:

procedure TForm1.N6Click(Sender: TObject);

begin

Image1.Picture.LoadFromFile('wood.bmp');

end;

Рис. 50 Работающее приложение

Аналогично создается обработчик события для команды Лес.

Текст процедуры, описывающей работу опции меню Выход будет включать в себя только метод Close.

procedure TForm1.N2Click(Sender: TObject);

begin

Close;

end;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]