我分析DBGrids.pas
单元。有已公布的FieldName
财产TColumn.FieldName属性编辑器
property FieldName: String read FFieldName write SetFieldName;
它宣布为一个字符串,但在Object Inspector它显示为可编辑的ComboBox一个TColumn
类(TDataFieldProperty
)
我分析了几乎所有DBGrids
单元,不能找到那个把戏完成的地方。我应该在哪里看?
我分析DBGrids.pas
单元。有已公布的FieldName
财产TColumn.FieldName属性编辑器
property FieldName: String read FFieldName write SetFieldName;
它宣布为一个字符串,但在Object Inspector它显示为可编辑的ComboBox一个TColumn
类(TDataFieldProperty
)
我分析了几乎所有DBGrids
单元,不能找到那个把戏完成的地方。我应该在哪里看?
你在找什么 - 亲爱的过去我 - 是RegisterPropertyEditor方法。
呼叫RegisterPropertyEditor通过与由属性类型参数指定的属性类型 的EditorClass参数指定的属性编辑器类 关联。
在你的情况,你需要一个TDataFieldProperty所以这将是这样的:
RegisterPropertyEditor(TypeInfo(string), TColumn, 'FieldName', TDataFieldProperty);
查找到DBReg.pas单元。 – TLama
我认为这是由你写的'DBReg.pas'中的'RegisterPropertiesInCategory'完成的。你能发表一个答案,以便我可以接受吗? – JustMe
我对IDE编辑器几乎一无所知,所以我无法确认或帮助您更多地了解这一点。让我们来做一个更有经验的人。 – TLama