我想在自己开发的控件的属性设置中给用户提供特定属性类型的“属性编辑器”,请问该如何做?(就像Delphi菜单控件中的菜单编辑器一样。)唉,其实我就是想给自己的组件添加TMenuItem类型属性,并能让用户像在TMainMenu组件中编辑Items属性一样编辑我的组件属性。恳请老师帮忙!
解决方案 »
- 安装ZEOSDBO-6.6.0-beta 提示找不到WideStrings.dcu
- 执行存储过程总是报“超时已过期”的错误、并且 AdOConnection.ConnectionTimeOut 设置到了120
- DLL的调用问题
- 如何搜索一个盘中中的指定文件,如*.rm
- combobox.Items.AddObject问题
- 求Web Services一份!!
- 谁有flatstyle for delphi7的控件(是一组纯平控件)?
- 求助高手,我想在tedit 控件中只输入数字,怎么实现啊?
- 问两个简单问题
- 如何取得sql表中的某一项的值
- 好简单的问题,望了得到解决
- 一个关于ACCESS时间的问题
begin
RegisterComponents('你的控件', [控件名]);
......
//注册属性编辑器TShortCut类型
RegisterPropertyEditor(TypeInfo(TShortCut), TmsAction, 'ShortCut', TShortCutProperty);
end;'ShortCut'是TmsAction的一个published property。
问题就是我的组件不是派生自TMenu类的。关于属性编辑器的文章我也找到很多,讲解基本一致,但如果我想使用Delphi已有的控件的“属性编辑器”却没有文章有讲到;比如我想在自己的组件中使用TMenuItem类型属性,使我的组件能像TMainMenu组件一样编辑其Items属性,我用的是Delphi7,里面没有找到关于注册TMenuItem类型属性编辑器的代码。但我找到两个包vcldesigner70.bpl和vcldesigner.dcp,发现里面有TMenuItemProperty和TMenuEditor这两个类的声明,于是我在自己的包中引入了vcldesigner.dcp包然后试图重新注册这个类到我的组件类属性或者派生新类注册,结果都失败了,提示“访问包vcldesigner70.bpl时,某某地址不可读(我的是英文版,翻译的可能不太准确)”不知为何?
我是希望得到Delphi自有的TMenu的菜单编辑器来设置自己组件的TMenuItem类型属性。
不过作出来的效果就和bcb的左边的属性编辑器一样.估计bcb也是用这个控件作的.
TValueListEditor
看不明白的话我可以给你一个界面的截图,你看看效果
谢谢,你说的是属性列表,我说的是在属性列表中为编辑特定类型属性的值而提供的界面接口(我的理解,不知道对不对)。