Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Änderung der Farben bei TListView (https://www.delphipraxis.net/46713-aenderung-der-farben-bei-tlistview.html)

s.h.a.r.k 30. Mai 2005 13:15


Änderung der Farben bei TListView
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo!

Ich arbeite gerade mal wieder an einem neuen Projekt, in dem ich TListView verwende. Leider passt das Layout nicht ganz in mein Programm, d.h. ich muss die Farbe (clHighlight) ändern, wenn man ein Item markiert. Am besten schaut man sich die Bilder im Anhang an! Ich will die Farbe so wie im Bild "nachher.jpg" haben - nur wie und wo ändere ich das?!

Des Weiteren würde ich gerne auch die anderen Farben ändern. Nur ich habe nicht wirklich viel dazu gefunden und steh irgendwie auf m Schlauch :wall:

Vielen Dank schon mal...

mfg shark

CalganX 30. Mai 2005 13:28

Re: Änderung der Farben bei TListView
 
Hi,
den Farbwert ändern halte ich für nicht so toll, da sich das auf das ganze System auswirken würde.
D.h. du musst das Zeichnen selber übernehmen. Es gibt entsprechende Ereignisse (OnDrawItem z.B.) mit denen du das handhaben kannst.

Chris

alzaimar 30. Mai 2005 13:35

Re: Änderung der Farben bei TListView
 
Ich dachte zum Ändern der Systemfarben ist das ControlPanel da...

marabu 30. Mai 2005 13:46

Re: Änderung der Farben bei TListView
 
Korrekt - Farbeinstellungen für Standardkomponenten nimmt der Benutzer vor, nicht der Entwickler.

Grüße vom marabu

dragi 30. Mai 2005 13:54

Re: Änderung der Farben bei TListView
 
Ich weiss nicht ob jetzt die Listview auch dazugehört aber einige Komponenten in der VCL sind nicht weiter als aufrufe der Windows eigenen "Komponenten". Die TabRegister (mir fällt der Name gerade nicht mehr ein) ist so eins. Da gibt es in der VCL keinen wirklich Sourcecode, es wird nicht anderes gemacht als die Windowskomponente aufzurufen. Von daher gibt es für solche Komponenten erstmal auch nicht die Möglichkeit am Design etwas zu ändern anhand von properties. Ich hoffe das wurde von mir jetzt richtig wiedergegeben.

Gruss

Dragi

s.h.a.r.k 30. Mai 2005 14:43

Re: Änderung der Farben bei TListView
 
Zitat:

Zitat von Chakotay1308
Hi,
den Farbwert ändern halte ich für nicht so toll, da sich das auf das ganze System auswirken würde.
D.h. du musst das Zeichnen selber übernehmen. Es gibt entsprechende Ereignisse (OnDrawItem z.B.) mit denen du das handhaben kannst.

Chris

Okey. Aber wie genau zeichne ich jetzt was neu ;) hättest du mir da eventuell ein Beipspiel?!? Hab sowas noch nicht wirklich gemacht!

mfg shark

CalganX 30. Mai 2005 14:49

Re: Änderung der Farben bei TListView
 
Hi,
Beispiele findest du zwar sicher auch mit der Suche, aber ich gebe dir jetzt trotzdem gerade eines. ;)
Wenn du im entsprechenden Ereignis bist (müsste OnDrawItem sein), dann dort einfach folgendes schreiben:
Delphi-Quellcode:
  Sender.Canvas.Font.Color := clRed;
Das würde zum Beispiel die Farbe der Schrift ändern. Du musst halt ein wenig mit den Canvas-Eigenschaften herumspielen.

Chris

Edit: Zu früh abgeschickt. :wall:

s.h.a.r.k 30. Mai 2005 15:08

Re: Änderung der Farben bei TListView
 
danke ;) werde mich da mal umschauen...

s.h.a.r.k 30. Mai 2005 16:11

Re: Änderung der Farben bei TListView
 
hab jetzt soweit schon mal die markierung umgestaltet, nur wenn ich dann das neu zeichne wird leider die Schrift überdeckt, was ich nicht will. Besteht die Möglichkeit nur die Schrif neu zu zeichnen?!

CalganX 30. Mai 2005 16:16

Re: Änderung der Farben bei TListView
 
Hi,
wenn, dann musst du den kompletten Eintrag neuzeichnen und somit auch den Text ändern.
Also einfach per Delphi-Referenz durchsuchenCanvas.TextOut den Text neuzeichnen. Dann sollte es funktionieren.

Chris


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 Uhr.
Seite 1 von 2  1 2      

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