
Меню идея меню
Важнейшим элементом пользовательского интерфейса является меню. Эта штука очень похожа на список блюд, который вы не раз видели в ресторане. Отличие только одно -там его подает официант, а здесь оно само появляется на экране вашего компьютера после старта практически любого Windows-приложения. Короче говоря, меню — это список возможностей, которые программа предоставляет в ваше распоряжение и которые вы можете выбирать по своему желанию. Выбор пунктов меню принято осуществлять с помощью мыши, это намного удобнее, чем с клавиатуры.
Различают два типа меню:
• главное меню формы;
• вспомогательные всплывающие меню.
Главное меню обычно расположено под заголовком формы. Выбор пункта главного меню вызывает появление на экране выпадающего меню.
Выпадающее меню содержит пользовательские команды. Среди команд могут встречаться пункты, выбор которых приводит к появлению вложенных выпадающих меню.Уровень вложенности практически не ограничен, но современное представление о хорошем пользовательском интерфейсе требует, чтобы вложенность была минимальной.
Всплывающие меню не имеют постоянного места внутри формы. Они не привязаны к главному меню и появляются (всплывают) лишь по специальному требованию со стороны пользователя, как правило, по щелчку правой кнопки мыши.
Всплывающие меню идеально подходят для размещения команд, специфичных для каждого отдельного управляющего элемента формы. Поскольку доступ к командам всплывающего меню происходит быстрее, чем к командам главного меню, использование всплывающих меню делает пользовательский интерфейс более удобным.
Для главного и всплывающего меню Delphi имеет два разных компонента: MainMenu и PopupMenu. Установка этих компонентов происходит одинаково, но результат будет разным. В первом случае мы получим стандартную строку главного меню, а во втором окно всплывающего меню.
Главное меню
Шаг 1. Приступая к практической работе, начните в Delphi новое приложение. Для этого выберите в меню File команду New Application. На экране появится чистая форма. Пока она имеет банальный заголовок Form1, который желательно заменить. Поскольку в качестве примера мы решили разработать приложение для просмотра графических файлов, давайте назовем форму Picture Viewer. Выберите в Инспекторе Объектов свойство Caption и впишите там эту строку (рис. 3).
Шаг 2. Еще форме нужно дать подходящий программный идентификатор. Отыщите в Инспекторе Объектов свойство Name и впишите значение PictureForm.
Шаг 3. Теперь сохраните модуль главной формы и весь проект, выполнив команду меню File | Save. Модуль назовите Main.pas, а проект — PicView. dpr. Вот теперь можно приступать к изучению и меню, и всего остального.
Отображение в форме главного меню (main menu) обеспечивает компонент MainMenu, расположенный в Палитре Компонентов на странице Standard. Поместите компонент на форму и дайте ему имя MainMenu
Компонент MainMenu имеет небогатый набор свойств, подробно мы на них останавливаться не будем, а обозначим лишь самые важные:
AutoMerge Определяет, сливается ли главное меню вторичной формы с главным меню главной формы. Способ слияния определяется значением свойства Grouplndex каждого пункта меню верхнего уровня.
Items Обеспечивает доступ к пунктам меню верхнего уровня.
Значок компонента MainMenu, который вы видите на форме, отображается лишь на этапе разработки. Он нужен для того, чтобы вы могли быстро активизировать компонент и перейти к установке его свойств в Инспекторе Объектов. Однако компонент MainMenu является невизуальным и на этапе выполнения приложения его значок не отображается. Пользователь видит результат работы компонента — строку меню с пунктами.
Пока в меню нет пунктов, нет и самого меню. Добавление новых пунктов выполняется в специальном окне Дизайнера Меню.