Программирование в Delphi. Барков И.А - 31 стр.

UptoLike

Составители: 

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