Delphi:首次点击后获取VirtualStringTree的编辑模式

时间:2014-01-02 11:09:43

标签: delphi editing virtualtreeview tvirtualstringtree

我想点击单元格之后直接从VirtualStringTree编辑单元格(节点)(类似StringGrid的选项goEditing:TruegoAlwaysShowEditor:True

我设置了toEditable:TruetoEditOnClick:TrueeditDelay:0VirtualStringTree组件的选项,它在第二次点击后进入编辑模式(首先是聚焦细胞和其次是编辑)

2 个答案:

答案 0 :(得分:3)

我认为没有办法配置你想要的东西,但是你可以使用例如OnFocusChanged事件并使用以下代码手动调用编辑模式:

procedure TForm1.VirtualStringTree1FocusChanged(Sender: TBaseVirtualTree;
  Node: PVirtualNode; Column: TColumnIndex);
begin
  Sender.EditNode(Node, Column);
end;

上述解决方法的问题是,即使您通过键盘选择不同的节点,也会调用编辑模式,这可能不是您想要的。

答案 1 :(得分:0)

获取事件OnEditing并将Allowed标志设置为true。

Procedure TForm1.vtListEditing(Sender: TBaseVirtualTree; Node: PVirtualNode;
  Column: TColumnIndex; var Allowed: Boolean);
begin
  Allowed := true;
end;