문제

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;
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top