uses DesignEditors;
type
TMySpecialForm = class(TCustomForm)
end;
RegisterCustomModule(TMySpecialForm, TCustomModule);
RegisterCustomModule接受 2 个参数:ComponentBaseClass和CustomModuleClass. 第一个是您的自定义表单类,它当然会从TCustomForm. 第二个是设计者将使用的类。这个类必须做两件事:从TBaseCustomModule(在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);