Aktionen registrieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Behandeln von VCL-Aktionen mit einer Aktionsliste


Wenn Sie eigene Aktionen definieren, können Sie diese registrieren, damit sie im Aktionslisten-Editor angezeigt werden. Mithilfe der globalen Routinen System.Actions.RegisterActions und System.Actions.UnRegisterActions können Sie Aktionen registrieren bzw. die Registrierung aufheben:

procedure RegisterActions(const CategoryName: string;
  const AClasses: array of TBasicActionClass;
  Resource: TComponentClass);
procedure UnRegisterActions(
  const AClasses: array of TBasicActionClass);
extern PACKAGE void __fastcall RegisterActions(
  const AnsiString CategoryName,
  TMetaClass* const * AClasses, const int AClasses_Size,
  TMetaClass* Resource);
extern PACKAGE void __fastcall UnRegisterActions(
  TMetaClass* const * AClasses,
  const int AClasses_Size);

Nach dem Aufruf von System.Actions.RegisterActions stehen die registrierten Aktionen im Aktionslisten-Editor zur Verfügung. Sie können der Routine einen Kategorienamen (zur Organisation der Aktionen) und im Parameter Resource bestimmte Standardwerte für die Eigenschaften übergeben.

Die Standardaktionen werden beispielsweise folgendermaßen registriert:

{ Standardaktionen registrieren }
RegisterActions('', [TAction], nil);
RegisterActions('Edit', 
  [TEditCut, TEditCopy, TEditPaste],
  TStandardActions);
RegisterActions('Window',
  [TWindowClose, TWindowCascade, TWindowTileHorizontal,
   TWindowTileVertical, TWindowMinimizeAll, TWindowArrange],
  TStandardActions);
namespace MyAction
{
 void __fastcall PACKAGE Register() {
   // Code zum Registrieren von Komponenten und Editoren
   TMetaClass classes[2] = {__classid(TMyAction1),
     __classid(TMyAction2)};
   RegisterActions("MySpecialActions", classes, 1, NULL);
   }
}

Nach dem Aufruf von System.Actions.UnRegisterActions stehen die Aktionen nicht mehr im Aktionslisten-Editor zur Verfügung.

Siehe auch

Vcl.ActnList.TActionLink