【发布时间】:2014-02-25 03:40:39
【问题描述】:
我有 3 列的 VirtualTreeView(如果重要,列标题是不可见的)。
当我按 F2(启动编辑器的默认键)编辑节点时,它会编辑第 0 列中的节点。如何将其切换到第 1 列中的编辑节点?
与此代码等效,但 F2 键:
VST.EditNode(VST.GetFirstSelected(), 1);
【问题讨论】:
-
一些我不明白的地方:首先,如果该列是不可见的,那么任何人将如何编辑它?其次,你是说那行代码做你想做的事,但问题仅仅是如何将该命令与 F2 键击联系起来?还是有更多问题?
-
您需要在
TreeOptions.SelectionOptions中的toExtendedFocus。然后您可以将焦点移动到第二列,F2 将在该列中切换到编辑模式。如果您还将toGridExtensions添加到TreeOptions.MiscOptions,您可以使用键盘移动焦点。 -
@RobKennedy 他可能是说列标题不可见?
-
列标题不可见,列不可见。对于那个很抱歉。 F2 是在 VirtualTreeView 中启动编辑器的默认键,所以不是我添加的。所以问题是 F2 键打开编辑器,但对于第一列数据而不是第二列数据,要编辑的实际数据在哪里。我可以使用上面的代码打开第二列数据的编辑器,但 F2 仍然为第一列编辑它。我会尝试
toExtendedFocus并报告。 -
@StefanGlienke:
toExtendedFocus确实有效,但现在问题不同了——现在所有列都可以用 F2 键编辑(包括第一列和最后一列)。有没有办法停止编辑除第二列(索引 = 1)之外的所有列?