Einzelnen Beitrag anzeigen

Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#1

ListView-Eintrag wird bei Windows 7 schwarz

  Alt 24. Jun 2010, 13:55
Hallöchen,
mich plagt seit einiger Zeit ein kleiner Grafikfehler mit der ListView unter Windows 7 - und das soll nun ein Ende haben

Erst einmal ein Bild, damit man sieht, was gemeint ist:
listview.jpg

Wie man sieht ist der zweite Eintrag schwarz, obwohl dort das gleiche drin steht wie in den anderen beiden. Ein Eintrag wird schwarz, wenn ich mit der Maus darüber fahre - aber auch nicht immer, keine Ahnung woran das liegt. Das passiert aber auch nur, wenn ich selbst etwas zeichne (in dem Beispiel einen Button). Hier mal der Quellcode:
Delphi-Quellcode:
procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView;
  Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
  var DefaultDraw: Boolean);
begin
  If Stage = cdPostPaint then With Sender as TListView do
  begin
    Button1.PaintTo(Canvas, Columns[0].Width, Item.DisplayRect(drBounds).Top);
  end;
end;
Wie man sieht, nichts besonderes. Mehr ist in dem ganzen Beispielprogramm auch nicht enthalten. Der ViewStyle der ListView steht auf vsReport (wie man ja eig. sieht).
Es tritt nur unter Windows 7 auf (ggf. auch Vista, aber das kann ich nicht testen), unter XP aber nicht.
Jemand eine Idee?
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat