| Главная | |
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. |