Aktionen registrieren
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