Главная |
Delphi |
РазноеДобавление новых Standard ActionsВы можете регистрировать Ваши собственные классы действий при помощи RegisterActions. Ниже приведен полный пример действия, печатающего текущую форму. Не забудьте добавить этот модуль во время проектирования. unit AjsStdActions; interface uses windows, StdActns, classes, forms; type TWindowPrint = class(TWindowAction) public constructor Create(AOwner: TComponent); override; procedure ExecuteTarget(Target: TObject); override; function HandlesTarget(Target: TObject): Boolean; override; procedure UpdateTarget(Target: TObject); override; end; procedure Register; implementation uses ActnList, Dialogs, Menus; { TWindowPrint } constructor TWindowPrint.Create(AOwner: TComponent); begin inherited; // новый по умолчанию Shortcut ShortCut := TextToShortCut('F3'); // новый по умолчанию Caption Caption := 'Print Window'; end; procedure TWindowPrint.ExecuteTarget(Target: TObject); begin // только для проверки ShowMessage('Printing Windows....'); // печать текущей формы GetForm(Target).Print; end; function TWindowPrint.HandlesTarget(Target: TObject): Boolean; begin Result := ((Form <> nil) and (Target = Form) or (Form = nil) and (Target is TForm)); end; procedure TWindowPrint.UpdateTarget(Target: TObject); begin // отмененное поведение TWindow.UpdateTarget end; procedure Register; begin // регистрируем наш новый класс действия RegisterActions('window', [TWindowPrint], nil); end; end. |
|
||
Copyright (c) Авраменко С. Н. 2008. |