gpt4 book ai didi

delphi - 在 VirtualTreeView 中跳过/禁用节点

转载 作者:行者123 更新时间:2023-12-03 15:28:45 26 4
gpt4 key购买 nike

我的 VirtualStringTree 有 5 个节点:

tree

节点 #4 没有标题,当用户按 VK_DOWN 或 VK_UP 时应跳过。

当用户单击它时,它也不应该被选中。

我编写了这段代码(有效)来在使用键盘时跳过所述节点:

if Key = VK_DOWN then
begin
node := VirtualTree.GetNext(VirtualTree.FocusedNode);
if not Assigned(node) then Exit;

data := VirtualTree.GetNodeData(node);
if data^.Caption = '' then
begin
VirtualTree.GetNext(node);
VirtualTree.FocusedNode := node;
VirtualTree.Selected[node] := true;
end;
end
else if Key = VK_UP then
begin
node := VirtualTree.GetPrevious(VirtualTree.FocusedNode);
if not Assigned(node) then Exit;

data := VirtualTree.GetNodeData(node);
if data^.Caption = '' then
begin
VirtualTree.GetPrevious(node);
VirtualTree.FocusedNode := node;
VirtualTree.Selected[node] := true;
end;
end;

问题是节点仍然通过单击获得焦点。

我尝试禁用节点VirtualTree.IsDisabled[node] := true; - 但没有运气。

有人知道实现这一目标的方法吗?

最佳答案

处理 OnFocusChanging 事件并向您选择的节点的 Allowed 参数返回 False。

关于delphi - 在 VirtualTreeView 中跳过/禁用节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27304468/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com