数据库控件问题------------200分 (200分)

  • 主题发起人 主题发起人 kimfeng
  • 开始时间 开始时间
K

kimfeng

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库控件TDBEdit的属性DataField是字符串类型(String),
但是在属性窗口(Object Inspector)中却有一个下拉菜单可以选择字段名。

为什么我的控件的属性如果定义成String就只有一个输入框????:(

大虾们请不吝赐教!!!!!!!!!!!!!!!
 
呵呵,当然了,String类型只能有一个输入框。
因为DataField是一个注册了的属性编辑器(PropertyEditor),而这个属性编辑器是TStringList类型的,
所以它可以有下拉列表框。
如果你想你自定义的属性也有这种功能,必须将你的属性定义为DataField类型,那么你的自定义属性就会
象TDBEdit一样有下拉选择功能。具体实践请参考 TDBEdit。
 
没看明白。
 
>>没看明白。
我说的很难明白吗?(ego搔搔头:不好意思,打小语文作文就不太好......)
 
to ego
那有什么办法注册我的属性呢?
 
只要你自定义的属性类型与TDBEdit的DataField属性的类型一样就可以了,这样就不需要你再注册,因为Delphi已经帮你注册了。
实在不行就把属性定义为TStringList类型,也可以有下拉列表框,但item field就要自己填充了。
 
你可以看看属性编辑器之类的文章。讲得很明白的!
你可以先定义一个类型别名(就是起一个STRING类型的别名),然后将你的某个属性的类型
改成你的别名,然后在注册这个别名的属性编辑器。注册属性编辑器的函数是:
RegisterPropertyEditor(TypeInfo(TXXXXXX),nil, '', TXXXXXX)
 
http://hub.myrice.com/delphizt/rmjq/028.htm
 
to ReallyFail
下拉菜单中的内容如何添加呢?
 
多人接受答案了。
 
后退
顶部