Ich habe ein ListView mit diversen Einträgen. Alle Einträge sind in schwarzer Schrift.
Nun habe ich ein PopupMenü in die ListView eingebaut und möchte das die zuvor markierten Zeilen
die Schreibfarbe ändern. Nachstehender Quelltext bewirkt bei mir aber nichts. Wo liegt mein Denkfehler?
//Schreibfarbe der markierte Zeile(n) soll(en) gefärbt werden
procedure TForm1.MenuItem1Click(Sender: TObject);
var i:integer;
begin
for i:=ListView1.Items.Count-1 downto 0 do
if ListView1.Items.Item[i].Selected then ListView1.Canvas.Font.Color := clRed;
end;
Wie macht man sowas eigentlich ???
Also in der Theorie stell ich mir das vor das ich ne Classe von TListview ableite, dort dann die Paint Prozedure kopiere und anpasse. und gegebenfalls nen paar propertys hinzufüge.
Ich find da gar nichts paint-mäßiges , kann das sein das die OS-Funktion für sowas genutz wird (oder so ähnlich)
Zum Zeichnen kann man eventuell auch auf Themes.ThemeService zurückgreifen. Der kann aber für einige Nicht-Windows-Plattformen nur teilweise implementiert sein.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein