uses DesignEditors;
type
TMySpecialForm = class(TCustomForm)
end;
RegisterCustomModule(TMySpecialForm, TCustomModule);
RegisterCustomModule
ComponentBaseClass
と の2 つのパラメータを取りますCustomModuleClass
。1 つ目はカスタム フォーム クラスで、もちろん から派生しTCustomForm
ます。2 つ目は、デザイナーが使用するクラスです。TBaseCustomModule
このクラスは 2 つのことを行う必要があります: (ユニット内で)から派生しDesignIntf
、インターフェイスを実装しICustomModule
ます。DesignEditors
ユニット内の 502 行付近のコメントを見てください。
このTCustomModule
クラスは、設計時にカスタム フォームに追加するデフォルト以外の動作がない場合に使用できるように提供されています。
デザイナーでフォームに何らかのカスタム動作が必要な場合、たとえば、さまざまなプロパティ設定コマンドを含むポップアップ メニューが必要な場合は、独自のTCustomModule
クラスを作成します。
uses DesignEditors;
type
TMySpecialFormDesigner = class(TCustomModule, ICustomModule)
function GetVerb(Index: Integer): string; override;
function GetVerbCount: Integer; override;
end;
RegisterCustomModule(TMySpecialForm, TMySpecialFormDesigner);