Jo,
beim Hinzufügen der Items zur Liste, nutzt dir die Angabe der Farbe überhaupt nichts.
Du musst die Farbinformation für jeden deiner Items in einer Extra-Liste speichern, oder
erst im OnDrawItem-Ereignis aus der Registry auslesen.
Bei der zweiten Methode, wird die Ausgabe etwas lahm, aber, sie ist am einfachsten zu realisieren.
Lasse also bitte in "Listbox1Click" alles weg, was mit "Farbe" zu tun hat und setze Folgendes in
"Listbox1DrawItem" so ein:
Delphi-Quellcode:
procedure TForm1.Listbox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
// "regist" ist in TForm1.FormCreate initialisiert worden?!
var Farbe : TColor;
begin
Farbe:=regist.ReadInteger('Name_'+IntToStr(Index)+'_color');
Listbox1.Font.Color:=Farbe;
end;