Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#14

Re: TListView, in 1. Spalte Rechteck in bestimmter Farbe

  Alt 3. Jun 2008, 09:39
Hallo,

ahhhh,
nichts bringen war falsch ausgedrückt,
er hatte immer die komplette Ziele gefärbt.

Delphi-Quellcode:
Sender.Canvas.FillRect(r);
Sender.Canvas.Font.Color := Graphics.clBtnText;
Sender.Canvas.TextOut(r.Left + 2, r.Top, Item.Caption);
Sender.Canvas.Brush.Color := TListView(Sender).Color;
die letzte Zeile ist wichtig !

und hier noch mal der Code zum kopieren

Delphi-Quellcode:
procedure TForm.LV_DataAdvancedCustomDrawItem(
  Sender: TCustomListView; Item: TListItem; State: TCustomDrawState;
  Stage: TCustomDrawStage; var DefaultDraw: Boolean);
var
  Rect : TRect;
 // ListItem.Data contains our own class
  DataItem : TDataItem;
begin
  DataItem:= Item.Data;
  if DataItem<>NIL then
  begin
    if DataItem.iColor>-1 then
    begin
      begin
        Rect:= Item.DisplayRect(drLabel);
        Sender.Canvas.Brush.Color := DataItemm.iColor;
        Sender.Canvas.FillRect(Rect);
        Sender.Canvas.Brush.Color := TListView(Sender).Color;

        Exit;
      end;
    end;
  end;
end; { LV_DataAdvancedCustomDrawItem }
Deine Unterscheidung nach selected oder nicht habe ich übrigens
absichtlich nicht drin, damit beim Blättern immer die Farbe angezeigt wird.


1000 Dank

jipppiiii



Heiko
Heiko
  Mit Zitat antworten Zitat