Ich versuche, die Schriftfarbe eines ListBoxItems zur Laufzeit zu ändern. Ich bin in der Lage, die Farbe ohne Problem zur Entwurfszeit zu ändern, indem ich die FontColor-Eigenschaft verwende, aber ich muss die Schriftfarbe zur Laufzeit ändern. Im folgenden Beispiel wird die Schriftfarbe nicht geändert.Ändern der Listbox-Elementschriftfarbe zur Laufzeit
var
ListBoxItem : TListboxItem;
begin
ListBoxItem := TlistBoxItem.Create(ListBox1);
ListBoxItem.Text := Edit1.Text;
ListBoxItem.ItemData.Detail := Edit2.Text;
ListBoxItem.StyleLookup := 'listboxitembottomdetail';
ListBoxItem.TextSettings.FontColor := TAlphaColorRec.Blue;
ListBoxItem.Height := 34;
ListBox1.AddObject(ListBoxitem);
end;
Der obige Code sollte ein Element zu ListBox1 mit der definierten Farbe hinzufügen, aber es kommt noch hinzu, das Element mit der Standardschriftfarbe.
hinzufügen 'ListBoxItem.StyledSettings: = ListBoxItem.StyledSettings - [TStyledSetting.FontColor];'. – Victoria