I would like to edit a cell (node) from the VirtualStringTree
directly after I click on the cell (something like a StringGrid
with the options goEditing:True
and goAlwaysShowEditor:True
)
I've setup the option of toEditable:True
, toEditOnClick:True
and editDelay:0
but VirtualStringTree
component it goes to edit mode after the second click (first is focusing the cell and secondly is editing)
I don't think there's a way to configure what you want, however you can use e.g. the OnFocusChanged
event and invoke the edit mode manually with a code like this:
procedure TForm1.VirtualStringTree1FocusChanged(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex);
begin
Sender.EditNode(Node, Column);
end;
The problem of the above workaround is that the edit mode is invoked even if you select different node by keyboard, which may not be exactly what you want.
Get the event OnEditing and set the Allowed flag to true.
Procedure TForm1.vtListEditing(Sender: TBaseVirtualTree; Node: PVirtualNode;
Column: TColumnIndex; var Allowed: Boolean);
begin
Allowed := true;
end;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With