将VirtualTreeView编辑器移动到第二列

时间:2014-02-25 03:40:40

标签: delphi virtualtreeview

我有3列的VirtualTreeView(如果重要的话,列标题是不可见的)。

当我按F2(启动编辑器的默认键)编辑节点时,它编辑第0列中的节点。如何将其切换到第1列中的编辑节点?

相当于此代码的东西,但对于F2键:

VST.EditNode(VST.GetFirstSelected(), 1);

1 个答案:

答案 0 :(得分:5)

您必须在toExtendedFocus中设置TreeOptions.SelectionOptions才能对列进行聚焦,然后使用F2或再次单击选定的单元格更改为编辑模式。

如果您想使用键盘导航,还必须将toGridExtensions设置为TreeOptions.MiscOptions

要阻止修改某些列,您必须实施树视图的OnEditing事件,并将Allowed设置为False,以获取那些不可编辑的列。

您还可以从coAllowFocus中排除Options这些列,以防止对其进行聚焦(从而使其无法编辑)。

P.S。我建议在VTV上将coEditable添加到TVTColumnOption