Fab*_*zio 5 delphi components design-time properties object-inspector
我注意到在选择多个项目时,一些属性会从Object Inspector中消失.
为什么会发生这种情况以及如何在创建组件时控制此行为?
例:
将2个按钮(TButton)添加到表单并选择其中一个.
在Object Inspector中,您可以看到所有TButton已发布的属性(请注意,还有Constraints属性).
将另一个按钮添加到当前选择(Shift按键时单击).
如您所见,Object Inspector中隐藏了一些属性(请注意,Constraints不再可见).
选择多个对象时是否显示属性由为该属性配置的属性编辑器控制.属性编辑器(从下降TPropertyEditor的DesignEditors.pas)有一个GetAttributes返回一组适用于编辑属性的方法.如果集合包含paMultiSelect,则将显示该属性.
鉴于属性值显示为约束值,而不仅仅是(TSizeConstraints),我得出结论,该属性不使用通用TClassProperty编辑器.该编辑器设置paMultiSelect,但根据您的图片,属性编辑器TSizeConstraints没有.这可能是一种疏忽.
您可以尝试注册自己的属性编辑器.找到当前注册的属性编辑器TSizeConstraints(例如,通过搜索TSizeConstraints的源代码),并在设计时包中声明一个来自该类的新类.覆盖GetAttributes以返回所需的值.最后,按照代码中其他地方的示例进行调用RegisterPropertyEditor.
| 归档时间: |
|
| 查看次数: |
299 次 |
| 最近记录: |