![]() |
ListView-Eintrag wird bei Windows 7 schwarz
Liste der Anhänge anzeigen (Anzahl: 1)
Hallöchen,
mich plagt seit einiger Zeit ein kleiner Grafikfehler mit der ListView unter Windows 7 - und das soll nun ein Ende haben :-D Erst einmal ein Bild, damit man sieht, was gemeint ist: Anhang 31513 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:
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).
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; Es tritt nur unter Windows 7 auf (ggf. auch Vista, aber das kann ich nicht testen), unter XP aber nicht. Jemand eine Idee? :stupid: |
AW: ListView-Eintrag wird bei Windows 7 schwarz
*push*
Och kommt schon, ihr wollt mir doch net sagen, dass noch niemand mal selbst etwas in eine ListView gezeichnet hat?! :-D |
AW: ListView-Eintrag wird bei Windows 7 schwarz
Kannst du mal das Beispielprojekt anhängen?
Und tritt es nur unter Windows 7 auf oder auch unter Vista? Greez, Chris |
AW: ListView-Eintrag wird bei Windows 7 schwarz
Zitat:
|
AW: ListView-Eintrag wird bei Windows 7 schwarz
Liste der Anhänge anzeigen (Anzahl: 1)
So, bitte sehr - da habt ihr das riesige Projekt :P
|
AW: ListView-Eintrag wird bei Windows 7 schwarz
Jepp, passiert unter Vista auch. Allerdings ist mir aufgefallen (ich habe 3 Testeinträge gemacht), dass dies nur passiert, wenn man "von oben", d.h. vom vorherigen Eintrag kommt. Zieht man durch bis zum letzten und geht dann wieder zurück, ist die Darstellung normal.
|
AW: ListView-Eintrag wird bei Windows 7 schwarz
Gut, dass es unter Vista ähnlich ist, war zu erwarten.
Das mit dem "von oben kommen" ist hier so, stimmt. Im eigentlich Programm um das es geht ist ein Eintrag immer schwarz, egal von wo ich komme. Allerdings nutzt dieses Programm auch Gruppen. Das Problem ist denke ich aber das gleiche ... |
AW: ListView-Eintrag wird bei Windows 7 schwarz
Zitat:
Außerdem scheint es nur der Texthintergrund zu sein. Der scheint schwarz zu werden. Ich hab mit Delphi 2007 getestet. Greez, Chris [Edit]Font.Color := clRed bei Listview1 und man sieht was ich meine[/Edit] |
AW: ListView-Eintrag wird bei Windows 7 schwarz
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); Brush.Style := bsClear; end; end; |
AW: ListView-Eintrag wird bei Windows 7 schwarz
Oh man, dass hatte ich doch auch probiert...
Sch... With-Anweisungen. Immer das selbe. Da sehe ich doch jedes mal den Kontext nicht mehr :-( Aber so geht es zumindest bei mir (Vista -> Delphi 2007) Greez, Chris |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz