如何在树状视图中移动选择内容,类似于dbgrid.next/dbgrid.previous?
在TEdit控件中按下向下/向上键时,我试图在VST中移动选择栏。
这是我尝试过的方法,但是对我来说,对于一个简单的任务来说太冗长了:
procedure TfrmUserManager.edtTaskFilterKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
Node: PVirtualNode;
begin
if not Assigned(vstTasks.FocusedNode) then
Node:= vstTasks.GetFirst
else
Node:= vstTasks.FocusedNode;
if key = VK_DOWN then
vstTasks.FocusedNode:= vstTasks.GetNextVisible(Node)
else if key = VK_UP then
vstTasks.FocusedNode:= vstTasks.GetPreviousVisible(Node);
vstTasks.Selected[vstTasks.FocusedNode] := True;
if key in [VK_DOWN,VK_UP] then key := 0;
end;
这可以简化吗? TIA。