Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Virtual Treeview: Hintergrundgrafik-Fragen

  Alt 23. Jun 2006, 15:53
Wenn du ganze Zeilen einfärben möchtest, kannst du das in der Behandlungsroutine für OnBeforeItemErase tun:

Delphi-Quellcode:
procedure TForm1.VirtualStringTree1BeforeItemErase(
  Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode;
  ItemRect: TRect; var ItemColor: TColor;
  var EraseAction: TItemEraseAction);
begin
  if Odd(Node.Index) then
    ItemColor := clLime
  else
    ItemColor := clRed;
  EraseAction := eaColor;
end;
Hast du ein mehrspaltiges TreeView, in dem du nur eine Spalte einfärben möchtest, so nimmst du die Behandlungsroutine für OnBeforeCellPaint:

Delphi-Quellcode:
procedure TForm1.VirtualStringTree1BeforeCellPaint(
  Sender: TBaseVirtualTree; TargetCanvas: TCanvas; Node: PVirtualNode;
  Column: TColumnIndex; CellRect: TRect);
begin
  if (Column = 0)
    begin
      TargetCanvas.Brush.Color := clYellow;
      TargetCanvas.FillRect(CellRect);
    end;
end;
Gruß Hawkeye
  Mit Zitat antworten Zitat