hum*_*red 4 delphi virtualtreeview delphi-xe2 tvirtualstringtree
我目前在我的树的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;
Run Code Online (Sandbox Code Playgroud)
为我的节点着色.但是对于隐藏节点,这不起作用,因为索引保持不变.是否有可见的索引或简单的解决方法?
提前致谢.
目前没有这种方法来获取可见性节点索引.但是,您可以在自己的位置迭代可见节点并计算每次迭代.这样的事情(你如何在实际代码中实现它):
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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
349 次 |
| 最近记录: |