1

我正在分析DBGrids.pas单位。有一个TColumn类已经发布了该FieldName属性

property  FieldName: String read FFieldName write SetFieldName;

它被声明为一个字符串,但在对象检查器中它显示为一个可编辑的组合框 ( TDataFieldProperty)

我分析了几乎所有DBGrids单元,但找不到完成该技巧的地方。我应该去哪里看?

4

1 回答 1

1

您正在寻找的 - 亲爱的过去 - 是RegisterPropertyEditor方法。

调用 RegisterPropertyEditor 将 EditorClass 参数指定的属性编辑器类与 PropertyType 参数指定的属性类型相关联。

在你的情况下,你需要一个 TDataFieldProperty 所以它会像:

RegisterPropertyEditor(TypeInfo(string), TColumn, 'FieldName', TDataFieldProperty);
于 2012-12-11T16:39:52.787 回答