我的VirtualStringTree中有5个节点:

节点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;,但没有成功。
有人知道怎么做到这一点吗?
发布于 2014-12-04 21:34:20
处理OnFocusChanging事件,并将False返回到您选择的节点的Allowed参数。
https://stackoverflow.com/questions/27304468
复制相似问题