我正在使用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.EditMask
和TItemProp.MaxLength
。然后,您可以根据需要将用户输入的value
转换为Integer
。
对于日期输入,最好将TItemProp.EditStyle
设置为esEllipsis
,然后使用TValueListEditor.OnEditButtonClick
事件显示上面带有TForm
的自己的TDateTimePicker
。如果需要,可以使用TSpinEdit
或类似组件对数字输入执行类似的操作。