如果查看 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 中,有时旨在由程序员明确设置并使其成为大规模管理的对象的属性可能会带来安全性和稳定性威胁。
尽管如此,我认为我们过于拘泥于手动更改属性。即使是复制粘贴,任何属性更改的根源都是专门的鼠标单击。