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