德尔福非rtti检查员

Jon*_*den 5 delphi delphi-xe2

我有一些虚拟控件,它是我所设计的设计器系统的一部分.它们模仿delphi自己的组件,除了它们完全是所有者绘制的.我面临的问题是,由于我的属性系统与普通的Delphi有些不同 - 我无法使用RTTI检查器来编辑属性.

有没有人知道一个看起来像普通的delphi检查器的检查器,但是这允许我按代码定义属性?

如果可能的话,允许我定义枚举:

with edInspector.Items.add('align') do
Begin
  Options.add('alLeft',ftord(TMyAlign.azLeft));
  Options.add('alTop',ord(TMyAlign.azTop));
  Options.add('alRight',ord(TMyAlign.azRight));
  Options.add('alBottom',ord(TMyAlign.azBottom));
  Options.add('alClient',ord(TMyAlign.azClient));
end;
Run Code Online (Sandbox Code Playgroud)

和复杂的类型:

with edInspector.Items.add('font') do
Begin
  subitems.add('name',dtString).value:=def_FontName;
  subitems.add('size',dtInteger).value:=def_fontSize;
  subitems.add('color',dtColor).Value:=def_fontColor;
end;
Run Code Online (Sandbox Code Playgroud)

Wou*_*ick 2

尝试一下Inspex。它太酷了。

http://www.raize.com/DevTools/Inspex/Default.asp

您可以动态添加属性,并且您将获得大多数常见类型的属性编辑器。

它的行为与 Delphi 对象检查器非常相似(它允许您编辑集合,如果您添加多个对象,它会检测哪些属性相同,并隐藏其他属性,并且它对属性值执行相同的操作)。

如果有多个级别,它会以树状结构显示属性。您可以通过字符串添加任何 TObject 或逐一添加属性来轻松填充它。

截屏:

截屏