PopupMenu — контекстное (всплывающее) меню в Дельфи
Контекстное (всплывающее) меню появляется при размещении указателя в форме или в области некоторого элемента управления и нажатии правой кнопки мыши. Обычно контекстное меню содержит команды, влияющие только на тот объект, для которого вызвано это меню, поэтому такое меню также называют локальным. На скриншоте показан примерный вид контекстного меню.
Контекстное меню в Delphi представлено компонентом PopupMenu.
Главное выбрать компонент, над которым необходимо такое всплывающее меню и в «Инспекторе объектов» в свойстве Popup Menu выбрать то Popup Menu, которое необходимо (скриншот ниже).
PopupMenu можно конструировать так же с помощью Конструктора меню. Для этого нажимаем правой кнопкой миши на компоненте (см. скриншот):
выбираем пункт меню — Menu Dessigner.
Свойства компонента PopupMenu
AutoPopup типа Boolean (определяет, появляется ли контекстное меню при щелчке правой кнопки мыши и размещении указателя на компоненте, использующем это меню). Если свойство AutoPopup имеет значение True (по умолчанию), то контекстное меню при щелчке мыши появляется автоматически. Если свойство AutoPopup имеет значение False, то меню не появляется. Однако в этом случае можно активизировать меню программно, используя метод Popup. Процедура Popup (X, Y: integer), где X и Y— координаты меню относительно левого верхнего угла экрана монитора, выводит на экран указанное контекстное меню, например: PopupMenu1.Popup(200, 200);
Alignment типа TPopupAlignment (определяет место появления контекстного меню по отношению к указателю мыши).
Свойство Alignment может принимать следующие значения:
- paLeft (положение указателя определяет положение левого верхнего угла меню) — по умолчанию;
- paCenter (положение указателя определяет положение центра меню по горизонтали);
- paRight (положение указателя определяет положение правого верхнего угла меню).
Для того чтобы контекстное меню появлялось при щелчке на компоненте, необходимо его свойству PopupMenu присвоить в качестве значения имя требуемого контекстного меню.
- Form1.PopupMenu := PopupMenu1;
Данная инструкция задает для формы Form1 контекстное меню PopupMenu1.