Delphi   发布时间:2022-04-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了delphi – 为什么在选择多个项目时会从Object Inspector中隐藏某些属性?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到在选择多个项目时,一些属性会从Object Inspector中消失.

为什么会发生这种情况以及如何在创建组件时控制此行为?

例:

将2个按钮(TButton)添加到表单并选择其中一个.

在Object Inspector中,您可以看到所有TButton发布的属性(请注意,还有ConsTraints属性).

将另一个按钮添加到当前选择(按住Shift键的同时单击).

如您所见,Object Inspector中隐藏了一些属性(请注意,ConsTraints不再可见).

解决方法

选择多个对象时是否显示属性由为该属性配置的属性编辑器控制.属性编辑器(源自DesignEditors.pas中的TPropertyEditor)具有GetAttributes方法,该方法返回一组适用于编辑器的属性.如果该集包含paMultiSELEct,则将显示该属性.

鉴于属性值显示为约束值,而不仅仅是(TSizeConsTraints),我得出结论,该属性不使用通用TClassProperty编辑器.该编辑器设置了paMultiSELEct,但根据你的图片,TSizeConsTraints的属性编辑器没有.这可能是一种疏忽.

您可以尝试注册自己的属性编辑器.找到当前为TSizeConsTraints注册的属性编辑器(例如,通过搜索TSizeConsTraints的源代码),并在设计时包中声明一个来自该类的新类.覆盖GetAttributes以返回所需的值.最后,按照代码中其他地方的示例调用RegisterPropertyEditor.

大佬总结

以上是大佬教程为你收集整理的delphi – 为什么在选择多个项目时会从Object Inspector中隐藏某些属性?全部内容,希望文章能够帮你解决delphi – 为什么在选择多个项目时会从Object Inspector中隐藏某些属性?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。