Дизайнер меню

Дизайнер меню (Menu Designer) облегчает процесс создания меню для вашей формы. Вы можете легко добавлять, вычеркивать и переупорядочивать команды меню непосредственно в окне дизайнера.

Чтобы начать процесс создания меню: __

1. Поместите значок компоненты MainMenu или PopUpMenu из вкладки стандартных компонент на вашу форму.

2. Откройте окно дизайнера меню. Оставив значок компоненты выбранным, дважды щелкните на нем левой кнопкой мыши или выберите опциюMenu Designer из контекстного меню компоненты. (Открыть контекстное меню дизайнера можно щелчком правой кнопкой мыши в любом месте его окна или нажатием клавиш Alt+FlO).

3. Введите имя меню и нажмите клавишуEnter, если желаете изменить имя, установленное по умолчанию (MainMenul).

Чтобы добавить команды в меню:

1. Выберите позицию, в которую вы хотите поместить новую команду.

2. Введите название команды (или символ "-", если вы хотите добавить разделительную черту в выпадающий список команд) и нажмите клавишуEnter. Указанному названию (Caption) C++Builder автоматически поставит в соответствие некоторый идентификатор (Name) и занесет в Инспектор объектов. Так команде меню File ставится в соответствие идентификатор Filel, а русскоязычному названию Файл - порядковый номер идентификатора с префиксом N. Если названию предшествует символ "&", то обращение к соответствующей команде меню можно выполнять совместным нажатием клавиш Alt+первая (подчеркнутая) буква названия. Можно задать любую комбинацию "горячих" клавиш или выбрать ее из списка ShortCut Инспектора объектов.

3. Нажмите клавишуEnter, чтобы перейти к добавлению следующей команды выпадающего списка или клавишуEsc, чтобы вернуться в главное меню. С помощью левой кнопки мыши или клавиш позиционирования <-, ->, Г, ^ можно перемещаться по списку и переходить в главное меню. Повторное нажатие клавиши Enter завершает процесс.

Чтобы вставить поле для новой команды в меню:

1. Выберите элемент меню, рядом с которым вы собираетесь сделать вставку.

2. Нажмите клавишуIns или выберите опциюInsert из контекстного меню. Поле новой команды вставляется над выбранным элементом в выпадающем списке или слева от выбранного элемента в главном меню.

Чтобы удалить команду из меню:

1. Выберите команду, которую вы собираетесь удалить.

2. Нажмите клавишуDel или выберите опциюDelete из контекстного меню.

Чтобы создать поле для вложенного подменю:

1. Выберите элемент, для которого вы хотите создать подменю.

2. Нажмите клавиши Ctrl+-> или выберите опциюSubMenu из контекстного меню.

Чтобы переместить элемент:

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

2. Отпустите кнопку мыши.

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

Чтобы добавить шаблон к вашему меню:

1. Выберите опциюInsert From Template из контекстного меню.

2. Выберите нужный шаблон из предложенного списка и нажмите кнопку ОК или клавишуEnter. Элементы шаблона образуют подменю элемента, на который указывал курсор в выпадающем списке команд, или создадут новый элемент в главном меню.

Чтобы сохранить ваше меню в виде шаблона:

1. Выберите опциюSave AsTemplate из контекстного меню.

2. Введите имя шаблона и нажмите кнопку ОК или клавишуEnter.

Чтобы удалить шаблон:

1. Выберите опциюDelete Templates из контекстного меню.

2. Выберите нужный шаблон из списка и нажмите кнопку ОК или клавишуEnter.Внимание: Данный шаблон будет удален не только из списка, но и из файла шаблонов BCB.DMT на жестком диске.

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

Чтобы организовать слияние меню во время выполнения:

1. Выберите меню, которое вы хотите активизировать из выпадающего списка свойства Menu вашей формы. Операции слияния применимы только к активному меню. Если форма содержит несколько компонент меню, вы можете переключать активное меню во время выполнения программы, устанавливая новые значения свойства Menu, например: Forml->Menu = ВтороеМеню;

2. Определите порядок, в котором команды меню из разных форм будут выстраиваться

на разделяемой панели главного меню: чем меньше номер свойства Grouplndex, тем

левее располагается соответствующая команда. Пусть главное (активное) меню содержит только две команды: "Файл" (Grouplndex=0) и "Справка" (5). Тогда между ними разрешается вставить до четырех команд из меню другой формы-потомка с номерами 1,2,3, и 4, например, "Редактор" (1) и "Формат" (3). Далее можно заместить команду "Формат" (3) на команду "Работа" (3) из меню другой формы-потомка.

Рис. 4.25 иллюстрирует процесс проектирования меню на форме прототипа тестового приложения, предназначенного для обработки файлов. Открыв контекстное меню дизайнера, обратите внимание на опциюInsert From Resource. Судя по названию, она должна давать возможность создавать меню на базе ресурсных файлов с расширением .гс. К сожалению, автору не удалось заставить дизайнер использовать ресурсы приложений, ранее написанных на Borland C++ версии 4.5. Будем надеяться, что в широко рекламируемой версии 5.02 эта недоработка будет исправлена.

Имя меню

Главное меню

Выпадающий список команд

Контекстное меню дизайнера

 

Рис. 4.25. Проектирование меню с помощью дизсшчера.

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

4.8 Итоги

Мы научились пользоваться основными инструментами интегрированной среды визуальной разработки C++Builder, уделив основное внимание назначению элементов Палитры компонент - "кирпичей", составляющих основу вашего приложения.