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



日期

组合列表


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

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

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


它在值列(第二列而不是4)中显示值Test。
我正在考虑将我需要的值嵌入到一个我将链接(添加)到每一行的对象中。但是我没有找到办法。即使我也不知道是否可能。

有人有主意吗?

最佳答案

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或类似组件对数字输入执行类似的操作。

08-16 13:30