Einzelnen Beitrag anzeigen

Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#1

Problem mit ListView, OwnerDraw und Font

  Alt 30. Jan 2007, 19:55
Hallo,

ich habe gerade ein kleines Problem mit einem Listview.
ViewStyle steht auf vsReport und OwnerDraw auf true. Nun zeichne ich jedes Item einzeln. Allerdings möchte ich auch den Font verändern. Leider funktioniert dies nicht. Die entsprechende Codestelle ist makiert.

Delphi-Quellcode:
procedure TMainDlg.ListView1CustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
var
  x,y,i:integer;
  s:string;
begin
  with Sender as TListView do
  begin
    with Canvas do
    begin
      if Item.Index mod 2 = 1 then
      begin
        Brush.Color := rgb(240,240,255);
      end
      else
      begin
        Brush.Color := rgb(255,255,255);
      end;
      if Item.Selected then
      begin
        Brush.Color := rgb(220,220,255);
        Pen.Style := psDot;
        Pen.Color := clGray;
      end
      else
      begin
        Pen.Style := psSolid;
        Pen.Color := Brush.Color;
      end;
      Rectangle(Item.DisplayRect(drLabel).Left+2,Item.DisplayRect(drLabel).Top+2,
                Item.DisplayRect(drBounds).Right-2,Item.DisplayRect(drLabel).Bottom-2);

      SmallImages.Draw(Canvas,Item.DisplayRect(drIcon).Left,
       Item.DisplayRect(drIcon).Top,Item.ImageIndex,dsTransparent,itImage);

      x := Item.DisplayRect(drLabel).Left+4;
      y := Item.DisplayRect(drLabel).Top+4;

      Sender.Canvas.Font.Style := [fsBold]; // <---- Keine Reaktion!!!!

      for i := 0 to Item.SubItems.Count-1 do
      begin
        s := Item.SubItems[i];
        TextOut(x,y,s);
        y := y + TextHeight(s);
      end;
    end;
  end;
  DefaultDraw := false;
end;
Ich habe zur verdeutlichung mal einen Screenshot angehängt...

Schonmal danke im vorraus,
Igel457
Miniaturansicht angehängter Grafiken
temp_158.gif  
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat