Aktionen registrieren
Nach oben zu Die Benutzeroberfläche erstellen - Index
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.