TValueListEditor包含更多列

时间:2016-03-10 18:06:44

标签: delphi editor components delphi-xe key-value

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

  • 字符串
  • 日期
  • ComboList

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

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

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

它在值列中显示值Test(第二列而不是4列)。 我想在我将链接(添加)到每一行的对象中嵌入我需要的值。但我没有'找到这样做的方法。即使我不知道它是否可能。

有没有人有想法?

1 个答案:

答案 0 :(得分:3)

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 {1}}就可以了。如果需要,您可以使用TSpinEdit或类似组件为数字输入执行类似操作。