Hallo,
ich würde die Farbe bei markierten Einträgen überhaupt nicht ändern, sondern die dafür vorgesehenen Standardfarben (
clHighlight,
clHighlightText) verwenden. Ob ein Eintrag markiert ist, kannst du durch Auswertung des Parameters
State feststellen:
Delphi-Quellcode:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
if (odSelected in State) then
// Eintrag ist markiert
else
// Eintrag ist nicht markiert
end;
Gruß Hawkeye