10865

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

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

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

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

Русский

2013-04-02

1.99 MB

35 чел.

Лабораторная работа № 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-х графиков функций с помощью пунктов контекстного меню.


 

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

41118. Представление данных в памяти компьютера 1.96 MB
  Основными задачами являются: приобретение студентом знаний о способах хранения данных в памяти компьютера и методах доступа к ним, о методах проектирования реляционных моделей данных, об использовании CASE-технологий при разработке приложений; приобретение навыков самостоятельной работы при создании концептуальных и логических моделей данных, при разработке физических моделей и управлению базой данных
41119. Общие сведения о SQL 3.27 MB
  Сегодня Oracle поставляет на мировой рынок огромное количество продуктов, услуг и решений, ее штат насчитывает более 43 тыс. человек, и доход этой компании, превысивший в 2000 году 10 млрд. долл., определяется не только продажами СУБД.
41120. Параллельные вычислительные системы 467 KB
  К распараллеливанию прибегают при проектировании отдельных устройств ЭВМ устройств управления буферов команд каналов обращения к памяти и модулей памяти многофункциональных арифметическологических устройств АЛУ повсеместно применяемых конвейеров и т. Сложилось представление о двух основных уровнях на которых в ВС применяются практические методы распараллеливания: на уровне программ процессов процедур первый уровень распараллеливания; на уровне команд и операций второй уровень распараллеливания. Уровень команд и операций...
41121. ПСИХОЛОГІЯ СТРАХУ ТА ФОБІЙ 69.5 KB
  Ознайомити студентів з особливостями емоції страху. Основні завдання: Охарактеризувати страх як емоційний стан поняття психологічна характеристика переживання страху причини та види страхів; Охарактеризувати фобію як емоційний стан; Порівняння емоцій страху та фобій; Визначити психотерапевтичні методи подолання страхів та фобій. Визначення емоційного стану людини за зовнішніми показниками Після читання лекції Характеристика страху та фобії; причини та наслідки переживання страхів та фобій; знання основних методів...
41122. учасні приклади біотехнологій в архітектурі.Об’єкти екологічного дизайну 1.48 MB
  Біосферна концепція розвитку екосистеми міста дизайнерські рішення як один з запобіжних факторів по зменшенню антропогенного навантаження на довкілля сучасні приклади проектування біопозитивних споруд В наш час багато Європейських організацій в тому числі і урядових структур погоджуються з тим що міста відіграють надзвичайно важливу роль в питаннях повязаних із зміною клімату. Усвідомлення цієї концепції відбулося через численні конференції та обговорення внаслідок чого деякі організацій виробили чітке прогресивне бачення того як...
41123. Основные понятия программного обеспечения систем защиты информации 277.5 KB
  Быстро развивающиеся компьютерные информационные технологии вносят заметные изменения в нашу жизнь. Информация стала товаром, который можно приобрести, продать, обменять. При этом стоимость информации часто в сотни раз превосходит стоимость компьютерной системы, в которой она хранится.
41124. Техническая термодинамика и промышленная теплотехника 209.5 KB
  Если использовать в качестве тестового физического тела например руку то прикасаясь к стеклу мы скажем: стекло холодное. Из сказанного следует что для отдельного тела не контактирующего с другими телами понятие теплоты не может быть использовано. Такое тело имеет запас энергии само по себе даже при отсутствии взаимодействия с другими телами: если например тело движется с некоторой скоростью можно сказать что оно имеет некоторый запас энергии. В термодинамике принято тела нагретые больше по отношению к остальным называть...
41125. СУЩНОСТЬ И РАЗРАБОТКА МСФО 329.5 KB
  Совет также издает основы для заключений относительно МСФО и их проектов. Обязанностями Комитета являются: толкование применения МСФО и предоставление своевременных руководств тем кто выпускает финансовую отчетность по вопросам непосредственно не прописанным в МСФО или МСБУ; публикование проектов интерпретаций для публичных комментариев и рассмотрение полученных комментариев; предоставление отчетов Совету и получение одобренных Советом окончательных интерпретаций. В процессе разработки МСФО принимают...
41126. Загальний огляд інформаційно-пошукових правових систем 59 KB
  Навчальновиховна мета заняття: дати загальний огляд інформаційнопошукових правових систем Тип заняття: Наочність: Між предметні звязки: лекція таблиця інформаційнопошукових правових систем ЛІГА:ЗАКОН Кваліфікаційні вимоги до знань умінь навичок: Студенти повинні: Основні поняття інформаційнопошукових правових систем. Підведення підсумків уроку Які існують сучасні інформаційнопошукові системами Які ви знаєте види правової системи ЛігаЗакон Для чого призначена ЛігаЗакон Що знаходиться в системі ЛігаЗакон Що дуже вдало...