我有一个VirtualTreeView,其中有3列(如果有影响,列标题是不可见的)。
当我按F2键(默认启动编辑器的键)来编辑节点时,它会编辑列0中的节点。如何切换为编辑列1中的节点?
类似于以下代码,但对于F2键:
VST.EditNode(VST.GetFirstSelected(), 1);
我有一个VirtualTreeView,其中有3列(如果有影响,列标题是不可见的)。
当我按F2键(默认启动编辑器的键)来编辑节点时,它会编辑列0中的节点。如何切换为编辑列1中的节点?
类似于以下代码,但对于F2键:
VST.EditNode(VST.GetFirstSelected(), 1);
TreeOptions.SelectionOptions
中设置 toExtendedFocus
才能聚焦列并使用 F2 或再次单击选定的单元格进入编辑模式。toGridExtensions
设置为 TreeOptions.MiscOptions
。OnEditing
事件,并将那些不可编辑的列的 Allowed
设为 False
。Options
中排除 coAllowFocus
,以防止聚焦它们(因此使它们不可编辑)。coEditable
到 TVTColumnOption
。coEditable
。 - Stefan Glienke
TreeOptions.SelectionOptions
中使用toExtendedFocus
。这样,你就可以将焦点移动到第二列,并且按下 F2 键会切换到该列的编辑模式。如果你还在TreeOptions.MiscOptions
中添加了toGridExtensions
,那么你就可以使用键盘来移动焦点了。 - Stefan GlienketoExtendedFocus
并回报结果。 - Coder12345toExtendedFocus
确实起作用,但现在问题不同了 - 现在可以使用F2键编辑所有列(包括第一列和最后一列)。 有没有办法停止除第二列(索引= 1)之外的所有列的编辑? - Coder12345OnEditing
事件并在列不是1时将Allowed
设置为false来完成它。感谢大家的帮助。@StefanGlienke - 如果您想写一个快速答案,我很乐意将其标记为正确,否则我会自己写。 - Coder12345