Autor Beitrag
Metschu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 135

Windows XP SP2 Home
Delphi 7; Delphi XE2-Starter
BeitragVerfasst: So 15.08.10 15:06 
Hallo zusammen!

Ich würde gerne in einer TListView im ViewStyle "vsReport" bestimmte Einträge Fett oder Durchgestrichen zeichnen.

Folgender Quelltext Ausschnitt:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure Tuebersicht.ListeCustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
 if Bedingung=true
  then begin;
   ListView1.Canvas.Brush.Color := clMoneyGreen;
   ListView1.canvas.Font.Color  := clred;
   ListView1.canvas.Font.Style  := [fsbold]
  end
end;


Die Hintergrund-, sowie Schriftfarbe wird bei erfüllter Bedingung geändert. Der Text wird aber nicht Fett geschrieben.

Nehme ich statt
ausblenden Delphi-Quelltext
1:
ListView1.canvas.Font.Style := [fsbold]					

ausblenden Delphi-Quelltext
1:
ListView1.Font.Style := [fsbold]					

wird die Ganze Liste Fett geschrieben.
Bei diesem Versuch
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure Tuebersicht.ListeCustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
 if Bedingung=true
  then begin;
   ListView1.Font.Style := [fsbold]
  end
  else begin;
   ListView1.Font.Style := []
  end
end;

flackert das Bild ständig und das Programm hängt.

"ParentFont" habe ich schon auf False gesetzt.

Hat noch jemand nen Tip für mich ? :?!?:

Gruß

Torsten
ALF
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1085
Erhaltene Danke: 53

WinXP, Win7, Win10
Delphi 7 Enterprise, XE
BeitragVerfasst: So 15.08.10 16:17 
mh... war das nicht so :gruebel: z.B.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
if item.Index = 1 then
  begin
      Sender.Canvas.Font.Style := [fsBold];
      Sender.Canvas.Brush.Color:= clgreen;
  end

zumindestens bei vsList
Gruss Alf

_________________
Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
Metschu Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 135

Windows XP SP2 Home
Delphi 7; Delphi XE2-Starter
BeitragVerfasst: So 15.08.10 22:12 
:autsch:
Danke für den Tip.

Habs mal auf vsList umgestellt und da war der Text Fett.
Beim Zurückstellen auf vsReport ist mir aufgefallen, das ich ja die erste Spalte, als "Caption", ausgeblendet hatte (breite auf 0 gesetzt). Diese Spalte war nach dem hin und her stellen des Styles wieder aufgetaucht und hier waren die rchtigen Textstellen Fett geschrieben.

Jetzt läufts unter der Procedure "OnCustomDrawSubItem" wunderbar

Gruß

Torsten