MainMenu — главное меню программы на Delphi
Главное меню располагается в верхней части формы под ее заголовком (см. скриншот) и содержит наиболее общие команды приложения. В Delphi главное меню представлено компонентом MainMenu.
По внешнему виду главное меню представляет собой строку, и его также называют строчным. Если пункты меню не умещаются в форме в одну строку, то они переносятся на следующую строку (см. скриншот).
При изменении размеров формы соответствующим образом меняются размеры и размещение пунктов строчного меню. Отметим, что уменьшение ширины формы ограничено размером самого длинного заголовка, имеющегося в меню.
При проектировании приложения в форме видны компонент MainMenu и соответствующая ему строка меню. Отображаемая строка меню выглядит и ведет себя так же, как при выполнении программы. На этапе проектирования приложения для перехода в процедуру обработки события OnClick пункта меню следует выбрать этот пункт с помощью клавиатуры или мыши.
Конструктор меню
Для создания и изменения меню в процессе разработки приложения в среде Delphi предназначен Конструктор меню (Menu Designer). Запуск Конструктора меню выполняется командой Menu Designer (Конструктор меню) контекстного меню компонента MainMenu или PopupMenu, а также с помощью двойного щелчка мыши на этих же компонентах. Предварительно один из этих компонентов следует добавить в форму. Напомним, что компоненты MainMenu и PopupMenu размещаются на странице Standard Палитры компонентов.
Конструктор меню похож на текстовый редактор и предоставляет возможность достаточно просто и удобно конструировать меню любого типа. Меню при конструировании имеет тот же вид, что и при выполнении приложения. Вид меню при конструировании с помощью Конструктора меню показан на скриншоте ниже.
При работе с Конструктором меню используются команды его контекстного меню (см. скриншот), вызываемого щелчком правой кнопкой мыши при размещении указателя в области Конструктора меню.
С их помощью можно добавить (Insert) и удалить (Delete) пункт меню, создать подменю (Create Submenu), выбрать меню (Select Menu), сохранить меню как шаблон (Save As Template), вставить меню из шаблона (Insert From Template), удалить шаблоны меню (Delete Templates) и вставить меню из файла ресурса (Insert From Resource).
При конструировании меню можно также перетаскивать мышью (drag-and-drop) пункты меню и подменю. Используемый совместно с Конструктором меню Инспектор объектов позволяет управлять свойствами отдельных пунктов меню. В частности, заголовок пункта меню задается путем присвоения нужного значения его свойству Сaption.
В окне Конструктора меню можно сохранить редактируемое меню в качестве шаблона для дальнейшего использования. При выборе команды контекстного меню Save As Template (Сохранить как шаблон) появляется окно Save Template (Сохранить шаблон) (см. скриншот).
В поле Template Description (Описание шаблона) этого окна нужно ввести имя для сохранения шаблона меню. Сохраненный шаблон в дальнейшем можно использовать при создании меню в этом или других приложениях. Список в нижней части окна Save Template содержит имена ранее сохраненных шаблонов меню.
Для загрузки сохраненного шаблона меню следует выполнить команду контекстного меню Insert From Template (Вставить из шаблона), при этом появляется окно, подобное приведенному выше. После нажатия кнопки ОК выбранный в окне шаблон подключается к создаваемому в Конструкторе меню как отдельный пункт.
Меню также можно загрузить из файла ресурса с расширением .rc или .mnu командой контекстного меню Insert From Resource (Вставить из ресурса).
С помощью Конструктора меню нельзя сохранить меню в качестве ресурса.