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:
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?