gpt4 book ai didi

delphi - 具有隐藏节点的 VirtualStringTree 行的颜色

转载 作者:行者123 更新时间:2023-12-03 15:23:22 25 4
gpt4 key购买 nike

我目前在树的 OnBeforeCellPaint 事件中使用此代码:

if Node.Index mod 2 = 0 then
begin
TargetCanvas.Brush.Color := clBlack;
TargetCanvas.FillRect(CellRect);
end
else
begin
TargetCanvas.Brush.Color := clPurple;
TargetCanvas.FillRect(CellRect);
end;

给我的节点着色。但对于隐藏节点,这不起作用,因为索引保持不变。是否有可见的索引或简单的解决方法?

提前致谢。

最佳答案

目前没有这样的方法来获取可见性节点索引。但是您可以创建自己的节点,在其中迭代可见节点并对每次迭代进行计数。像这样的东西(如何在实际代码中实现它取决于你):

function GetVisibleIndex(Tree: TBaseVirtualTree; Node: PVirtualNode): Integer;
var
P: PVirtualNode;
begin
Assert(Assigned(Node), 'Node must not be nil!');
Assert(Tree.IsVisible[Node], 'Node must be visible!');

Result := 0;

P := Tree.GetFirstVisible;
while Assigned(P) and (P <> Node) do
begin
Inc(Result);
P := Tree.GetNextVisible(P);
end;
end;

关于delphi - 具有隐藏节点的 VirtualStringTree 行的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26428920/

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