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