如果你要修改ListBox的选中文本颜色的话,可以用自画方式。
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
var
s:string;
begin
s:=(Control as TListbox).Items[Index];
if odSelected in State then
listbox1.Canvas.Pen.Color := clRed;
DrawText(Handle,PChar(ShowCaption),-1,Rect,DT_LEFT or DT_SINGLELINE or DT_VCENTER);
end;