我想VirtualStringTree
在单击单元格后直接从 编辑单元格(节点)(类似于StringGrid
带有选项的 agoEditing:True
和goAlwaysShowEditor:True
)
我已经设置了选项toEditable:True
,但是在第二次单击toEditOnClick:True
后组件进入编辑模式(首先是聚焦单元格,其次是编辑)editDelay:0
VirtualStringTree
我想VirtualStringTree
在单击单元格后直接从 编辑单元格(节点)(类似于StringGrid
带有选项的 agoEditing:True
和goAlwaysShowEditor:True
)
我已经设置了选项toEditable:True
,但是在第二次单击toEditOnClick:True
后组件进入编辑模式(首先是聚焦单元格,其次是编辑)editDelay:0
VirtualStringTree
我认为没有办法配置您想要的内容,但是您可以使用例如OnFocusChanged
事件并使用如下代码手动调用编辑模式:
procedure TForm1.VirtualStringTree1FocusChanged(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex);
begin
Sender.EditNode(Node, Column);
end;
上述解决方法的问题是即使您通过键盘选择不同的节点也会调用编辑模式,这可能不是您想要的。
获取事件 OnEditing 并将 Allowed 标志设置为 true。
Procedure TForm1.vtListEditing(Sender: TBaseVirtualTree; Node: PVirtualNode;
Column: TColumnIndex; var Allowed: Boolean);
begin
Allowed := true;
end;