我正在分析DBGrids.pas
单位。有一个TColumn
类已经发布了该FieldName
属性
property FieldName: String read FFieldName write SetFieldName;
它被声明为一个字符串,但在对象检查器中它显示为一个可编辑的组合框 ( TDataFieldProperty
)
我分析了几乎所有DBGrids
单元,但找不到完成该技巧的地方。我应该去哪里看?
我正在分析DBGrids.pas
单位。有一个TColumn
类已经发布了该FieldName
属性
property FieldName: String read FFieldName write SetFieldName;
它被声明为一个字符串,但在对象检查器中它显示为一个可编辑的组合框 ( TDataFieldProperty
)
我分析了几乎所有DBGrids
单元,但找不到完成该技巧的地方。我应该去哪里看?
您正在寻找的 - 亲爱的过去 - 是RegisterPropertyEditor方法。
调用 RegisterPropertyEditor 将 EditorClass 参数指定的属性编辑器类与 PropertyType 参数指定的属性类型相关联。
在你的情况下,你需要一个 TDataFieldProperty 所以它会像:
RegisterPropertyEditor(TypeInfo(string), TColumn, 'FieldName', TDataFieldProperty);