Einzelnen Beitrag anzeigen

Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: HeaderControl.parent := Listbox

  Alt 31. Jul 2005, 14:13
das geht. Dafür kannst du das Event "OnAdvancedCustomDrawSubItem" nutzen. In der Hilfe steht auch noch etwas dazu.
Mit folgendem Source kann man zum beispiel den Hintergrund der zweiten Spalte einfärben
Delphi-Quellcode:
procedure TForm1.ListView1AdvancedCustomDrawSubItem(
  Sender: TCustomListView; Item: TListItem; SubItem: Integer;
  State: TCustomDrawState; Stage: TCustomDrawStage;
  var DefaultDraw: Boolean);
var LRect: TRect;
begin
  if (SubItem = 1) then
  begin
    DefaultDraw := False;
    Sender.Canvas.Brush.Color := clBlue;
    LRect := Item.DisplayRect(drBounds);
    LRect.Right := Min(Sender.Column[0].Width + Sender.Column[1].Width, LRect.Right);
    LRect.Left := Min(Sender.Column[0].Width, LRect.Right);
    Sender.Canvas.FillRect(LRect);
  end else
    DefaultDraw := True;
end;
ein bild geht ebenso einfach. du musst nur "Sender.Canvas.FillRect(LRect)" austauschen mit
Sender.Canvas.StretchDraw(LRect, Image1.Picture.Bitmap); die Zeile "Sender.Canvas.Brush.Color := clBlue;" kannst du in dem fall natürlich auch weg lassen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat