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类的后代,因此它不依赖于字符串列表类).
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |