Einzelnen Beitrag anzeigen

hathor
(Gast)

n/a Beiträge
 
#10

AW: VirtualStringTree mit "gestreiftem Hintergrund"

  Alt 30. Okt 2014, 11:07
...Im OnAfterItemErase pinsle ich dann den Zellhintergrund andersfarbig. Soweit auch ok. Das Problem dabei: Eigentlich müsste ich jede zweite Zeile grau und die anderen weiß machen. Also prüfe ich mit if Odd(Node.Index) {weiß} else {hellgrau} die Zeilennummern. Leider ist Node.Index ebenenabhängig...
Grüße
Cody
Kann es sein, dass Dein Code in der falschen Procedure gelandet ist?
Teste doch mal OnBeforeItemErase.

Delphi-Quellcode:
// OnBeforeItemErase
procedure TForm2.VSTBeforeItemErase(Sender: TBaseVirtualTree;
  TargetCanvas: TCanvas; Node: PVirtualNode; ItemRect: TRect;
  var ItemColor: TColor; var EraseAction: TItemEraseAction);
begin
// colorG, colorS = globale Boolean, man merkt sich die letzte Farbe
if colorG=true then
  begin
  ItemColor := clSilver; colorS:=true; colorG:=false;
  end
  else
  begin
   ItemColor := clGray; colorG:=true; colorS:=false;
  end;
end;

Geändert von hathor (30. Okt 2014 um 12:25 Uhr)
  Mit Zitat antworten Zitat