如果查看html和dfm的层次结构,他可以找到相似之处(嵌套结构,属性(属性)等)。下一步是要求在Delphi世界中有类似css(Cascade样式表)的东西。所以例如像这样的规则
TPanel TPanel BorderWidth=2
可以定义对于放置在另一个面板中的任何TPanel,属性BorderWidth应始终为2.
或
TPanel.MyPanel TLabel Font.Style=[fsBold]
对于名为MyPanel的TPanel,里面的任何标签都应该加粗(类似于css特定名称(MyPanel)可以等同于html的id属性)
那么是否为这样的东西开发了库/单元?
我认为应该有一些挑战
在设计时实现这个可能会给Delphi的内部表单设计器带来一些兼容性问题(可能这个库可以更加面向运行时)
在html世界中,它主要是关于视觉,因此错误可能只会导致视觉特性,但在Delphi属性中,有时会被程序员的手明确设置并使其成为大规模管理的主体可能会带来安全性和稳定性威胁。
尽管如此,我认为我们太依赖于属性手册的变化。即使它是复制粘贴,任何属性更改的根目录都是专用的鼠标。