Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК ПП1 (C++ БД).doc
Скачиваний:
4
Добавлен:
01.03.2025
Размер:
5 Мб
Скачать
☆

Связь пунктов меню Main Menu1 с действиями ActionList

Составим простейшее текстовое меню (Main Menu), пункты которого в свих свойствах Caption будут повторять список действий, приведённый в виде русских фраз в компоненте Memo1. Разместим на форме компонент MainMenu1, учитывая, что он так же, как и ActionList1, является невизуальным. Создадим 6 пунктов по числу предусмотренных действий и напомним, что удобнее всего создавать пункты меню, пользуясь инструментом Menu Designer, вызываемым правым щелчком по иконе MainMenu1. В свойства Caption пунктов перенесем фразы из русского списка действий методом копирования через буфер. Результат построенного таким образом меню представлен на рис. 64.

Рис. 64. Выпадающие списки для различных групп компонента MainMenu1

Из рисунка видно, что группе «файл» соответствует выпадающее меню из двух пунктов, группе «строки» соответствует три позиции в выпадающем списке, а группа «выход» представляет только одно действие – собственно «выход». Скомпилируйте программу и убедитесь, что все пункты появляются в правильной последовательности. Чтобы избежать неточностей при вводе казалось бы простых русских фраз, пользуйтесь следующим правилом:

Заповедь 5 технологии программирования.

Не вводите с клавиатуры русские наименования пунктов меню и других подобных компонентов, а копируйте их из «источника»

Программа по-прежнему не выполняет никаких действий, так как не установлены связи между пунктами меню и действиями в диспетчере ActionList1.

Чтобы связать пункт меню с каким-либо обработчиком действия, существуют два способа:

  • записать собственный обработчик для события, разрешенного в компоненте меню, например OnClick

  • связать пункт меню с общим действием с помощью специально предназначенного для этой цели свойства Action.

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

Заповедь 6 технологии программирования.

Для связи компонентов интерфейса с действиями, указанными в ActionList, пользуйтесь только свойством Action компонента, но не событием OnClick

Чтобы установить связь между пунктом меню MainMenu1 и действием ActionList1, выполните следующие действия:

  1. Выберите настраиваемый пункт меню (в примере на рис. 65 – это «Заполнить список из файла» ).

  2. В Инспекторе объектов выберите свойство Action. Заметьте, что ввиду частого использования этого свойства, оно повторяется на обеих страницах Инспектора объектов – как на вкладке Properties, так и на вкладке Events.

  3. Щёлкните стрелочку, символизирующую выпадающий список, и вы получите список действий из компонента ActionList1 – на рисунке он обведён черным прямоугольником

  4. Выберите строку с именем желательного действия – в примере это mdDobavitStroku.

Рис. 65. Установление связи между пунктом меню MainMenu1 и действием ActionList1

Аналогичным образом свяжите все остальные пункты меню с «запрограммированными» действиями из списка, скомпилируйте программу и убедитесь, что все без исключения пункты вызывают соответствующие заглушки.

Заповедь 7 технологии программирования.

Пока не проверена правильность запуска всех без исключения обработчиков – заглушек, не переходите к следующим пунктам