加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – 在IDE Object Inspector中动态显示/隐藏属性?

发布时间:2020-12-15 09:47:44 所属栏目:大数据 来源:网络整理
导读:我在使用Delhpi 10 Seattle时遇到了一个有趣的功能.在Firedac中,特别是TFDConnection组件,Params属性具有一些巫术魔法,它可以动态显示和隐藏IDE中的属性,具体取决于另一个特定属性的值. (我不知道自从我刚开始使用Firedac以来已经有多长时间了).在TFDConnect
我在使用Delhpi 10 Seattle时遇到了一个有趣的功能.在Firedac中,特别是TFDConnection组件,Params属性具有一些巫术魔法,它可以动态显示和隐藏IDE中的属性,具体取决于另一个特定属性的值. (我不知道自从我刚开始使用Firedac以来已经有多长时间了).在TFDConnection.Params中更改DriverID属性时,Params中的其余属性将显示在IDE Object Inspector中,以便能够指定特定于驱动程序的属性.

现在我已经研究了它是如何工作的,它是一堆接口定义,来自IFDStanDefinition.我无法弄清楚它是如何在IDE中实际执行的,除了有一个TStringList涉及利用名称/值对功能.

我希望在我自己的组件中实现相同的东西,特别是TCollectionItem有一个属性ActionType,它是一个Enum类型.我想动态显示/隐藏属性,具体取决于为该属性选择的值.

如何在我自己的组件集合项中的IDE Object Inspector中实现显示/隐藏属性的相同功能?

另外,我担心答案的一部分是它需要所有的字符串值,根据你如何通过代码与这个Params属性进行交互来判断.

解决方法

编写属性编辑器,并在 GetAttributes返回时包含 paVolatileSubProperties属性.其余的是关于释放旧的子属性实例,并替换为新的子属性实例(但它们可以是任何 TPersistent类的后代,因此它不依赖于字符串列表类).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读