Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Delphi 3.doc
Скачиваний:
6
Добавлен:
10.12.2018
Размер:
116.74 Кб
Скачать

Семенова Н. С.

Работа с меню.

Стандартные диалоги.

11/11

Работа с меню

Delphi поддерживает работу с разными видами меню - с обычным меню (оно называется главным меню приложения), с контекстным меню, с системным меню. Рассмотрим, как можно использовать в программах на Delphi обычное меню. Для размещения в вашей программе такого меню выберите компонент MainMenu на вкладке Standard на Палитре компонентов:

После этого на вашей форме появится компонент с именем MainMenu1.

Где он располагается на вашей форме на этапе разработки программы - все равно. На этапе выполнения меню все равно будет в своем стандартном месте - наверху формы. Сейчас в нашем компоненте MainMenu1 нет пунктов меню. Для добавления новых пунктов меню просто сделайте двойной щелчок на MainMenu1. Откроется окно редактора меню. Добавьте в него два пункта, как показано на рисунке (для этого просто введите нужные названия пунктов меню с клавиатуры):

Закройте окно редактора меню и запустите программу. На форме должно появится наше меню:

Теперь посмотрим, как можно добавить обработчик для какого-нибудь пункта меню. Для добавления обработчика просто щелкните на нужном вам пункте меню (на этапе разработки программы, конечно). Откроется окно кода со сгенерированной заготовкой для обработчика, в которую просто впишите нужный вам код (мы в нашем примере просто вызываем messagebox):

procedure TForm1.Submenu1Click(Sender: TObject);

begin

ShowMessage('Выбрано меню Sub menu');

end;

Контекстное меню

После обычного меню посмотрим, как в Delphi можно работать с контекстным меню. Компонент для него расположен на вкладке Standard Палитры компонентов:

Двойным щелчком расположите его на форме. Как и в случае с обычным меню, место для его расположения - любое - все равно этот компонент на этапе выполнения невидим (если мы контекстное меню не вызвали, разумеется).

Для того, чтобы при щелчке правой кнопкой мыши на некотором элементе появлялось контекстное меню, мы должны написать в свойстве PopupMenu для этого элемента написать имя нашего контекстного меню. Сделаем это, например, для нашей формы:

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

Добавляются новые пункты в контекстное меню аналогично стандартному меню - через редактор. Для его появления просто сделайте двойной щелчок на нашем контекстном меню или нажмите на кнопку с двоеточием рядом с его свойством Items:

Добавьте в наше меню два пункта - Пункт 1 и Пункт 2:

Для добавления обработчика для некоторого пункта нашего меню просто сделайте двойной щелчок на нем. Создастся заготовка для кода. Добавте в нее вызов messagebox'а:

procedure TForm1.N11Click(Sender: TObject);

begin

ShowMessage('Пункт1');

end;

Запускайте программу (F9). При желчке правой кнопкой мыши на форме должно появиться наше контекстное меню:

При выборе в этом меню подменю Пункт 1 появится messagebox с соответствующей надписью.

Вообще же контекстное меню можно прибавить к любому элементу. Просто задайте свойство PopupMenu.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]