Delphi 已发布的属性未显示在设计器中
在Delphi的早期版本中,我的自定义表单显示了其发布的属性 但是,我遇到了Delphi10.2东京版的问题。具体地说,我没有看到调用中找到的适当方法的好方法 总之,需要调用注册表自定义模块(),但是,在所描述的Delphi 已发布的属性未显示在设计器中,delphi,firemonkey,delphi-10.2-tokyo,Delphi,Firemonkey,Delphi 10.2 Tokyo,在Delphi的早期版本中,我的自定义表单显示了其发布的属性 但是,我遇到了Delphi10.2东京版的问题。具体地说,我没有看到调用中找到的适当方法的好方法 总之,需要调用注册表自定义模块(),但是,在所描述的DesignIntf单元中,没有TCustomModule(有TBaseCustomModule和TCustomModuleClass),基本自定义模块也继承自TInterfacedObject,而TForm没有(使用FMX作为我的框架) 在最新版本的Delphi中注册FMX表单以显示已
DesignIntf
单元中,没有TCustomModule
(有TBaseCustomModule
和TCustomModuleClass
),基本自定义模块也继承自TInterfacedObject
,而TForm
没有(使用FMX作为我的框架)
在最新版本的Delphi中注册FMX表单以显示已发布属性的正确方法是什么
uses DesignEditors;
type
TMySpecialForm = class(TCustomForm)
end;
RegisterCustomModule(TMySpecialForm, TCustomModule);
RegisterCustomModule
接受两个参数: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);
RegisterCustomModule
接受两个参数: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);
谢谢Dave,我理解这些要求,但我不知道TCustomModule类是在DesignEditor单元中声明的。另外,请欣赏这个示例。谢谢Dave,我理解这些要求,但我不知道TCustomModule类是在DesignEditor单元中声明的。另外,请欣赏这个例子。