Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Listview, CustomDrawSubItem, Text wird schwarz (https://www.delphipraxis.net/163949-listview-customdrawsubitem-text-wird-schwarz.html)

DCoderHH 25. Mai 2018 07:12

AW: Listview, CustomDrawSubItem, Text wird schwarz
 
Danke an alle! Insbesondere an KodeZwerg: Seine zuletzt gepostete Löung funktioniert eiwandfrei. Das Problem geistert ja seit mehreren Jahren durch diverse Foren und Newsgroups und wurde nie gelößt. Ich bin begeistert!

Edit: Die Lösung von himitsu funktioniert auch, wenn man sie leicht modifiziert:
Sender.Canvas.Font.Assign(TListView(Sender).Font);
Edit2: Die Lösung von himitsu funktioniert manchmal doch nicht. Beim nächsten Start ist der Text manchmal trotzdem fett. Ganz komisch. Die Lösung von KodeZwerg läuft immmer.

KodeZwerg 25. Mai 2018 09:15

AW: Listview, CustomDrawSubItem, Text wird schwarz
 
Defaultdraw False dann True scheint die Font zu beeinflussen.
Ich habe ja nichts gegen himitsus Vorschlag, nur bringt der leider nichts.
Es muss effektiv einmal eine Fontveränderung eintreten sonst bleibts beim Fehler.
Wenn Du die selbstgemalte Spalte nach ganz rechts verlagerst ist Fehler auch behoben.
Freut mich das ich helfen konnte.

Luckie 25. Mai 2018 14:08

AW: Listview, CustomDrawSubItem, Text wird schwarz
 
Das ist übrigens die Standardschrift die Windows setzt, wenn man ohne VCL arbeitet und man keine Schrift setzt*, entweder in der Dialog-Ressource oder im Fenster per Code. Ich nehme das OwnerDraw arbeitet ähnlich: "Du willst selber zeichnen? Dann musst du aber auch alles selber zeichnen. Und mir sagen, was du für eine Schrift willst."

*) Siehe dazu meine Screenshots aus meinen nonVCL Tutorials von den ersten Demos.

himitsu 25. Mai 2018 14:17

AW: Listview, CustomDrawSubItem, Text wird schwarz
 
DevExpress-Grigs und auch teilweise die VCL-Grids/List-Komponenten setzen oft vor den CustomDrawEvents den Pen/Brush/Font.

Klar, "falls" man dann im CustomDraw was Anderes setzt, ist das dann doppelt (Zeitverschwendung), aber es gibt weniger Probleme, vor allem wenn man dann doch nicht alles selber zeichnet. (z.B. nur Hintergrund- oder Textfarbe ändern und den Rest wieder das DefaulDraw machen lassen)

EWeiss 25. Mai 2018 18:26

AW: Listview, CustomDrawSubItem, Text wird schwarz
 
Zitat:

"Du willst selber zeichnen? Dann musst du aber auch alles selber zeichnen.
Das sagte ich schon bereits in diesem Beitrag..

Dabei spielt es keine rolle ob man das über Win32 API mitteln macht oder in der VCL.
Das andere ist alles ein Workaround mag funktionieren die Lösung ist aber nicht das gelbe vom Ei. (Meine persönliche Meinung)
Wenn man schon OwnerDraw verwendet dann bitte richtig mit allen Konsequenzen.

Zitat:

Es muss effektiv einmal eine Fontveränderung eintreten sonst bleibts beim Fehler.
Nö.. Man muss nur OwnerDraw richtig verwenden entweder ganz oder gar nicht.

Ich möchte einen Porsche, Kohle fehlt also nehme ich einen Käfer und rüste ihn mit den Schlufen eines Porsche aus.
So in etwa geht das hier ab.

gruss

KodeZwerg 25. Mai 2018 19:24

AW: Listview, CustomDrawSubItem, Text wird schwarz
 
Mit fehlt da die Erfahrung aber ich kenn da jemand der ist Experte in OwnerDraw hehe
Tutorials darüber sind auch rar gesät.

EWeiss 25. Mai 2018 20:27

AW: Listview, CustomDrawSubItem, Text wird schwarz
 
Zitat:

Zitat von KodeZwerg (Beitrag 1403006)
Mit fehlt da die Erfahrung aber ich kenn da jemand der ist Experte in OwnerDraw hehe
Tutorials darüber sind auch rar gesät.

Na ja ich helfe gern habe aber kein Tokyo und keine Lust immer alles um zu modeln. ;)

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:53 Uhr.
Seite 3 von 3     123   

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