delphi-7 - virtualtreeview 以编程方式移动选择栏(响应向下/向上键)
问题描述
如何在树视图中移动选择,类似于 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。
解决方案
推荐阅读
- python - 与分类数据堆叠的 Python 直方图
- pytorch - Pytorch Embedding 中的灵活字数统计
- amazon-web-services - 如何仅为特定用户提供创建 IAM 用户访问权限
- flutter - Flutter,Flare Actor,Rive,同时强制启动动画
- react-native - 对本地货币输入做出反应
- regex - php正则表达式匹配完整的url
- html - 在javascript中检查屏幕大小
- react-native - 如何创建与 expo 和 raw react-native 兼容的 NPM 包
- python-3.x - 使用 selenium 提取 WebTable
- javascript - Microsoft Graph:跨域令牌兑换仅适用于“单页应用程序”