Moin zusammen,
wie färbe ich eine bestimme Zeiles eines VST ein, wenn ein bestimmter Wert des jeweiligen Datensetzes existiert?
Mein bisheriger Code färbt im Wechsel die Zeilen.
Delphi-Quellcode:
procedure Tfrm_main.vst_network_subnetdetailsAfterItemErase(
Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode;
ItemRect: TRect);
var
SubnetDetailsData : TOSubnetDetailsData;
begin
if Sender.Selected[Node] then
Exit;
if Odd(Node.Index) then
TargetCanvas.Brush.Color := $F8F8F8
else
TargetCanvas.Brush.Color := clWhite;
TargetCanvas.FillRect(ItemRect);
end;
Wenn ich jetzt folgendes hinzufüge, färbt er leder die ganze Zeile ein. Ich möchte aber nur die Zelle in der 1.Spalte färben.
Delphi-Quellcode:
// Spalte 0 einfärben, wenn es sich um ein Exclude handelt
SubnetDetailsData := TOSubnetDetailsData(vst_network_subnetdetails.GetNodeData(Node)^);
if SubnetDetailsData.dhcp_exclude = 0 then
begin
TargetCanvas.Brush.Color := clNavy;
TargetCanvas.FillRect(ItemRect);
end;
Wie müsste ich meinen Code anpassen, damit das klappt oder muss ich ein anderes Ereignis nehmen? Leider gibt es im AfterItemErase Event keinen Bezug auf die Spalte.
Vielen Dank im voraus. Gruß, Sven