uses TypInfo; type TTest = (clRedX, clGreenX,clBlueX,clBlackX,clWhiteX,clYellowX); procedure TForm1.Button1Click(Sender: TObject); var ti: PTypeInfo; td: PTypeData; i: Integer; begin ti := TypeInfo(TTest); td := GetTypeData(ti); for i := td^.MinValue to td^.MaxValue do ListBox1.Items.Add(GetEnumName(ti, i)); end;