Составители:
Рубрика:
31
TObject-”TPersistent—”TComponent->TMenu->TPopupMenu
Модуль MENUS
Страница Палитры компонентов Standard
Этот компонент описывает всплывающее меню. В отличие от главного, собственное меню та-
кого типа может быть почти у каждого оконного элемента управления на форме (кроме переключате-
лей), а также у самой формы.
Всплывающее меню обычно связывают с нажатием правой кнопки мьппи. Чтобы это правило
соблюдалось, нужно
установить в True свойство
(Pb) property AutoPopup: Boolean;
Для вызова этого меню из программы используйте метод:
procedure Popup(X, Y: Integer);
который показывает его, помещая в точку экрана (X,Y) точку панели меню, определенную
свойством:
(Pb) property Alignment: TPopupAlignment;
TPopupAlignment = (paLeft, paRight, paCenter) ;
В зависимости от его значения в точке щелчка появится:
paLeft — левый верхний угол;
paRight — правый верхний угол;
paCenter — середина верхней стороны.
Разумеется, если нажатие произошло в самом низу
экрана и развернуться вниз невозможно, ме-
ню автоматически будет сдвинуто вверх.
При вызове всплывающего меню перед его показом на экране программист извещается событи-
ем:
(Pb) property OnPopup: TNotifyEvent;
Одно и то же всплывающее меню могут разделять несколько компонентов. Свойство
property PopupComponent: TComponent ;
показывает, который из них инициировал меню (на котором был щелчок правой кнопки мыши).
Если меню
вызвано из метода Popup, значение этого свойства не определено, и присвоить ему значение
должен сам программист.
Контекст помощи всплывающего меню задается свойством:
(Pb) property HelpContext: THelpContext;
Функции для работы с меню
Рассмотрим также описанные в модуле Menus полезные функции для управления меню.
Четыре функции предназначены для преобразования типа TShortCut, представляющего горя-
чую комбинацию клавиш:
а) в символ+
состояние специальных клавиш и обратно:
procedure ShortCutToKey(Shortcut: TShortCut; var Key: Word;
var Shift: TShiftState);
function Shortcut(Key: Word; Shift: TShiftState): TShortCut;
б) в текст и обратно:
function ShortCutToText(Shortcut: TShortCut): string;
function TextToShortCut(Text: string): TShortCut;
Новые меню и их составные части можно создавать, пользуясь функциями:
function NewMenu(Owner: TCompo-
nent; const AName: string; Items: array
of TMenuItem): TMairiMenu;
Создает новое главное меню с именем AName и пунктами Items,
которое будет принадлежать владельцу Owner.
function NewPopupMenu(Owner:
TCoiriponent; const AName: string;
Alignment: TPopupAlignment;
AutoPopup: Boolean; Items: array of
TMenuItem): TPopupMenu;
Создает новое всплывающее меню. Назначение дополнительных
параметров см. описание TPopupMenu.
TObject-”TPersistent—”TComponent->TMenu->TPopupMenu
Модуль MENUS
Страница Палитры компонентов Standard
Этот компонент описывает всплывающее меню. В отличие от главного, собственное меню та-
кого типа может быть почти у каждого оконного элемента управления на форме (кроме переключате-
лей), а также у самой формы.
Всплывающее меню обычно связывают с нажатием правой кнопки мьппи. Чтобы это правило
соблюдалось, нужно установить в True свойство
(Pb) property AutoPopup: Boolean;
Для вызова этого меню из программы используйте метод:
procedure Popup(X, Y: Integer);
который показывает его, помещая в точку экрана (X,Y) точку панели меню, определенную
свойством:
(Pb) property Alignment: TPopupAlignment;
TPopupAlignment = (paLeft, paRight, paCenter) ;
В зависимости от его значения в точке щелчка появится:
paLeft — левый верхний угол;
paRight — правый верхний угол;
paCenter — середина верхней стороны.
Разумеется, если нажатие произошло в самом низу экрана и развернуться вниз невозможно, ме-
ню автоматически будет сдвинуто вверх.
При вызове всплывающего меню перед его показом на экране программист извещается событи-
ем:
(Pb) property OnPopup: TNotifyEvent;
Одно и то же всплывающее меню могут разделять несколько компонентов. Свойство
property PopupComponent: TComponent ;
показывает, который из них инициировал меню (на котором был щелчок правой кнопки мыши).
Если меню вызвано из метода Popup, значение этого свойства не определено, и присвоить ему значение
должен сам программист.
Контекст помощи всплывающего меню задается свойством:
(Pb) property HelpContext: THelpContext;
Функции для работы с меню
Рассмотрим также описанные в модуле Menus полезные функции для управления меню.
Четыре функции предназначены для преобразования типа TShortCut, представляющего горя-
чую комбинацию клавиш:
а) в символ+состояние специальных клавиш и обратно:
procedure ShortCutToKey(Shortcut: TShortCut; var Key: Word;
var Shift: TShiftState);
function Shortcut(Key: Word; Shift: TShiftState): TShortCut;
б) в текст и обратно:
function ShortCutToText(Shortcut: TShortCut): string;
function TextToShortCut(Text: string): TShortCut;
Новые меню и их составные части можно создавать, пользуясь функциями:
function NewMenu(Owner: TCompo- Создает новое главное меню с именем AName и пунктами Items,
nent; const AName: string; Items: array которое будет принадлежать владельцу Owner.
of TMenuItem): TMairiMenu;
function NewPopupMenu(Owner: Создает новое всплывающее меню. Назначение дополнительных
TCoiriponent; const AName: string; параметров см. описание TPopupMenu.
Alignment: TPopupAlignment;
AutoPopup: Boolean; Items: array of
TMenuItem): TPopupMenu;
31
Страницы
- « первая
- ‹ предыдущая
- …
- 29
- 30
- 31
- 32
- 33
- …
- следующая ›
- последняя »
