AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ListView-Eintrag wird bei Windows 7 schwarz

Ein Thema von Deep-Sea · begonnen am 24. Jun 2010 · letzter Beitrag vom 28. Jun 2014
Antwort Antwort
Seite 1 von 3  1 23      
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, 12: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
Benutzerbild von Deep-Sea
Deep-Sea

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

AW: ListView-Eintrag wird bei Windows 7 schwarz

  Alt 28. Jun 2010, 11:06
*push*

Och kommt schon, ihr wollt mir doch net sagen, dass noch niemand mal selbst etwas in eine ListView gezeichnet hat?!
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: ListView-Eintrag wird bei Windows 7 schwarz

  Alt 28. Jun 2010, 13:54
Kannst du mal das Beispielprojekt anhängen?

Und tritt es nur unter Windows 7 auf oder auch unter Vista?

Greez, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: ListView-Eintrag wird bei Windows 7 schwarz

  Alt 28. Jun 2010, 14:04
Es tritt nur unter Windows 7 auf (ggf. auch Vista, aber das kann ich nicht testen), unter XP aber nicht.
Ich hab hier Vista, ein Beispielprojekt kann ich gern mal schnell testen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

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

AW: ListView-Eintrag wird bei Windows 7 schwarz

  Alt 28. Jun 2010, 14:17
So, bitte sehr - da habt ihr das riesige Projekt
Angehängte Dateien
Dateityp: zip Test.zip (4,1 KB, 14x aufgerufen)
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: ListView-Eintrag wird bei Windows 7 schwarz

  Alt 28. Jun 2010, 14:24
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

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

AW: ListView-Eintrag wird bei Windows 7 schwarz

  Alt 28. Jun 2010, 14:30
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 ...
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: ListView-Eintrag wird bei Windows 7 schwarz

  Alt 28. Jun 2010, 14:36
Jepp, passiert unter Vista auch...wenn man "von oben", d.h. vom vorherigen Eintrag kommt...
Kann ich bestätigen.

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]
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#9

AW: ListView-Eintrag wird bei Windows 7 schwarz

  Alt 28. Jun 2010, 14:39
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;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von SirThornberry (29. Jun 2010 um 07:30 Uhr) Grund: Delphi-Tags gesetzt - nächstes mal bitte selbst machen.
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#10

AW: ListView-Eintrag wird bei Windows 7 schwarz

  Alt 28. Jun 2010, 14:49
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
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz