10865

Организация меню. Главное и контекстное меню. Компонент TActionList

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 3 Организация меню. Главное и контекстное меню. Компонент TActionList Для организации главного меню формы используется невизуальный компонент MainMenu. Располагается этот компонент на вкладке Standard палитры компонентов Delphi. Рассмотрим работу этого ком...

Русский

2013-04-02

1.99 MB

37 чел.

Лабораторная работа № 3

«Организация меню. Главное и контекстное меню. Компонент TActionList»

Для организации главного меню формы используется невизуальный компонент MainMenu. Располагается этот компонент на вкладке Standard палитры компонентов Delphi. Рассмотрим работу этого компонента на примере небольшого приложения.

Создадим новое приложение. Поместим на форму компонент MainMenu. Главное меню формируется при помощи дизайнера меню. Дизайнер меню можно вызвать двойным щелчком левой кнопки мыши над компонентом MainMenu или через свойство Items этого компонента в Инспекторе объектов. Дизайнер меню представляет собой редактор элементов (пунктов) меню, он автоматически предлагает создать каждый новый пункт меню, и автоматически дает им имена.

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

За текст элемента меню отвечает его свойство Caption. В выпадающем меню текст «-» в свойстве Caption элемента воспринимается как команда по разделению, и на месте элемента меню появится разделяющая линия.  Создадим стандартное для большинства приложений меню (Рис. 1):

Рис.1. Дизайнер меню.

 

Дизайнер позволяет осуществлять редактирование меню при помощи своего контекстного меню, которое вызывается по нажатию правой кнопки мыши. Например, создадим выпадающее меню для созданного нами пункта меню «Печать». Для этого выделим этот пункт меню (Рис. 1), далее вызовем контекстное меню и выберем команду Create Submenu (создать подменю). После чего дизайнер предложит нам создать элементы этого меню (Рис. 2).

Контекстное меню дизайнера позволяет осуществлять удаление и вставку элементов меню. Для этого можно также использовать клавиши Delete и Insert.


Рис. 2. Создание подменю

Создадим подменю из двух элементов («Настройка печати», «Печать»). После этого закроем  дизайнер меню. Форма примет следующий вид (Рис. 4):

Рис. 4. Редактируемая форма. Сформированное главное меню.

Создадим контекстное меню, по составу аналогичное выпадающему меню в первом пункте главного меню. Контекстное меню реализуется при помощи компонента PopupMenu. Этот компонент располагается на вкладке Standard палитры компонентов Delphi. Контекстное меню изначально не принадлежит ни одному из компонентов, но оно может быть назначено любому визуальному компоненту. Для этого большинство визуальных компонентов имеют свойство PopupMenu. Контекстное меню создается также как и главное при помощи дизайнера меню. После того как контекстное меню создано, назначим его форме. Для этого в списке значений свойства PopupMenu формы выберем значение PopupMenu1. Запустим приложение и правой кнопкой мыши над формой вызовем созданное нами контекстное меню (Рис. 5).

Рис. 5. Работающее приложение. Контекстное меню формы.

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

Фактически мы имеем два одинаковых меню (Главное и контекстное) и нам придется писать два одинаковых кода в обработчиках событий. Допустим меню «Сохранить как» вызывает сложный, громоздкий код сохранения какого-либо проекта в файл. Будет достаточно неудобно копировать два куска кода, и увеличивать размеры программы. А если будет существовать еще несколько графических кнопок, которые будут выполнять то же самое? Конечно, гораздо удобнее создать одну подпрограмму.

Для того чтобы избавить программиста от ненужных манипуляций с вызовом одного и того же кода при событиях различных компонентов, был спроектирован невизуальный компонент TActionList. Он располагается на вкладке  Standard палитры компонентов. Поместим его на форму.

Двойным щелчком вызывается редактор подпрограмм, они называются Actions (действия). Создадим одно действие (Рис. 6). Выделим строку Action1, свойству Caption действия назначим значение «Сохранить как». В Инспекторе объектов создадим обработчик события OnExecute элемента Action1. В обработчик события OnExecute поместим вызов информационного окна, которое будет сигнализировать о выбранном действии.

procedure TForm1.Action1Execute(Sender: TObject);

begin

  Showmessage('Вызвано действие сохранения');

end;

Завершим работу с редактором действий и перейдем на форму.

Рис. 6. Редактор действий.

Вызовем дизайнер меню MainMenu1. Выделим элемент «Сохранить как» и в его свойстве Action выберем наше действие Action1. Вызовем дизайнер меню PopupMenu1. Выделим элемент «Сохранить как» и в его свойстве Action выберем наше действие Action1. Запустим приложение и проверим работу меню.

Далее, если нам необходимо будет изменить код действия сохранения, нам не придется обращаться поочередно к одинаковым пунктам главного и контекстного меню. Достаточно будет лишь обратится к компоненту ActionList1, вызвать редактор действий, и изменить обработчик события OnExecute действия Action1.

Общее задание

Создайте действия при помощи компонента ActionList1 для каждого пункта меню.

Задание по вариантам:

Задание 1. Организуйте построение 4-х рисунков с помощью пунктов главного меню.

Задание 2. Организуйте построение 2-х графиков функций с помощью пунктов контекстного меню.


 

А также другие работы, которые могут Вас заинтересовать

37226. Содержание и классификация расходов предприятия 43.5 KB
  Термин расходы в большей степени имеет отношение к бухгалтерскому учету затрат в целях налогообложения прибыли . В соответствии с Положением по бухгалтерскому учету Расходы организации ПБУ10 99 утвержденным приказом Министерства финансов РФ от 6 мая 1999г. Расходы предприятия в зависимости от их характера условий осуществления и направлений деятельности организации подразделяются на: Расходы по обычным видам деятельности расходы связанные с изготовлением продукции и продажей продукции приобретением и продажей товаров выполнением...
37227. Экономическое содержание, функции и виды прибыли 60 KB
  Экономическое содержание функции и виды прибыли. Экономическая сущность прибыли является одной из сложных и дискуссионных проблем в современной экономической науке. Экономическое содержание прибыли проявляется в выполняемых ею функциях среди которых можно выделить следующие: Прибыль характеризует экономический эффект полученный в результате деятельности организации т. Стимулирующая функция прибыли проявляется в том что прибыль выступает основным внутренним источником формирования финансовых ресурсов организации обеспечивающих ее развитие...
37228. Практика и перспективы использования технических средств в учреждении культуры 40.5 KB
  Кроме финансовой затратности изготовления жестких декораций имеется и несколько отрицательных художественнопостановочных моментов их применения. Смена жестких декораций не всегда возможна в течение концерта или спектакля по техническим и экономическим причинам. Проекционные декорации создаваемые позволяют радикальным образом решить все проблемы связанные с использованием жестких декораций следующим образом. Проецируемый слайд точно вписывается в подвешенный экран без геометрических искажений создавая полную иллюзию реальности создаваемых...
37229. Электромузыкальные инструменты 69 KB
  Электромузыкальные инструменты Принцип действия Виды электромузыкальных инструментов Потребительские свойства электромузыкальных инструментов Хранение инструментов Заключение Введение Эмоциональный мир человека невозможно представить без музыки. А термин электрический музыкальный инструмент используется для обозначения инструментов звук которых воспроизводится механически и усиливается или изменяется с помощью электроники. Появлению электромузыкальных инструментов ЭМИ предшествовали инструменты построенные на...
37230. Фотоаппаратура в СКД 106 KB
  Фотоаппаратура в СКД История фотоаппаратуры Виды фотоаппаратов Основные детали фотоаппаратов Современная фотоаппаратура Управление современной фотоаппаратурой Режимы фотоаппаратов Заключение Введение Постоянный обмен информацией короткое время производства экономия финансов польза для окружающей среды вот только несколько причин которые объясняют гигантский рост интереса к фотоаппаратам . Фотоаппарат устройство для получения и фиксации неподвижных изображений материальных объектов при помощи света. Фотоаппарат фотокамера...
37231. Разработка художественно-технических приемов обеспечения проведения социально-культурного мероприятия техническими средствами СКД на основе сценарного плана социально-культурного мероприятия 141.5 KB
  Проведение школьной дискотеки 1.Интерьер помещения для дискотеки 1.Световое оборудование Заключение Введение В большинстве случаев к сожалению дискотеки в школах получают неудовлетворительную оценку. Раньше для успеха дискотеки достаточно было использовать кассету с зарубежными хитами а в качестве освещения использовать 4 фонаря и зеркальный шар.
37232. Техническое обеспечение социально-культурных мероприятий 87 KB
  Функции технических средств на каждом этапе подготовки мероприятия Технические средства и монтаж Заключение Введение В настоящее время всё больше актуализируется вопрос технического оснащения социальнокультурных мероприятий. При этом технические средства могут выступать не только в качестве оснащения социальнокультурной программы мероприятия но и содействовать при разработке этой программы от начального до завершающего этапа облегчать работу режиссёру творческой и технической группе. Если художественное оформление...
37233. Средства пожарной безопасности клубных помещений 75.5 KB
  Основные первичные средства пожаротушения: Огнетушители. Огнетушители предназначаются для тушения очагов горения в начальной их стадии а также для противопожарной защиты небольших сооружений машин и механизмов. Огнетушители бывают переносные и передвижные. Огнетушители с большим объемом заряда с массой не менее 20 но не более 400 кг; могут иметь одну или несколько емкостей с огнетушащим веществом относятся к передвижным их корпуса устанавливаются на специальные тележки.
37234. Разработка плана (схемы) технического оснащения учреждения культуры системой озвучивания 110 KB
  Важнейшей характеристикой колебаний звука является частота число показывающее сколько полных колебаний в секунду совершает например маятник часов струна и т. Система озвучивания зала в учреждении культуры представляет собой усилительную систему применяемую в случаях если звуковая мощность источника звука оратора актеров оркестра недостаточна для обеспечения нормальной слышимости на сравнительно большой зоне расположения слушателей или когда в этой зоне имеются значительные шумы или если у помещения плохие акустические свойства....