アクションの登録

提供: RAD Studio
移動先: 案内検索

アクション リストを使用した VCL アクションの処理 への移動


独自のアクションを記述したら、それらのアクションを登録して、アクション リスト エディタに表示されるようにすることができます。アクションの登録/登録解除を行うには、次のようなグローバル ルーチン System.Actions.RegisterActions および System.Actions.UnRegisterActions を使用します。

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);

System.Actions.RegisterActions を呼び出すと、登録したアクションは、アクション リスト エディタに表示され、アプリケーションで使用することができます。カテゴリ名を指定してアクションを整理することができます。また、Resource パラメータを使用して、デフォルトのプロパティ値を指定することもできます。

たとえば、次のコードでは、標準アクションを IDE に登録しています。

{ Standard action registration }
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 goes here to register any components and editors
   TMetaClass classes[2] = {__classid(TMyAction1),
     __classid(TMyAction2)};
   RegisterActions("MySpecialActions", classes, 1, NULL);
   }
}

System.Actions.UnRegisterActions を呼び出すと、アクションはアクション リスト エディタに表示されなくなります。

関連項目