具有更多列的 TValueListEditor

TValueListEditor with more columns

我正在使用 TValueListEditor,我想制作一个 IDE 属性 之类的编辑器。 每行可以有几种信息:

我想知道如何存储元素的类型和每行的格式。

我尝试添加 2 列。但它不起作用

ValueListEditor.ColCount := 4;
ValueListEditor.Cell[4,2] := 'Test';

它在值列(第二列而不是 4)中显示值 Test。 我正在考虑将我需要的值嵌入到我将 link (添加)到每一行的对象中。但我没有找到这样做的方法。连我都不知道可不可以

有人知道吗?

TValueListEditor 专门设计用于仅处理 name=value 对。您不能向其添加其他列。但是,您可以指定用于编辑 value 列的编辑器类型。每对由 TItemProp.EditStyle 属性 处理:

  • 对于字符串输入,将TItemProp.EditStyle设置为esSimple

  • 对于ComboList输入,将TItemProp.EditStyle设置为esPickList,然后使用TItemProp.PickList 属性,或者TValueListEditor.OnGetPickList 事件.

  • 对于数字输入,将TItemProp.EditStyle设置为esSimple,并根据需要设置TItemProp.EditMaskTItemProp.MaxLength。然后,您可以在需要时将用户输入的 value 转换为 Integer

  • 对于日期输入,您最好将 TItemProp.EditStyle 设置为 esEllipsis,然后使用 TValueListEditor.OnEditButtonClick 事件来显示您自己的 TForm上面有一个 TDateTimePicker。如果需要,您可以使用 TSpinEdit 或类似组件对数字输入做类似的事情。