Zeichne doch selber die Kreise, und mache eine schöne "Form" mit den 5 Kreisen oder wieviele das sind. Dann einfach eine Prozedur z.b.
Delphi-Quellcode:
procedure ZeichneKreise(Anzahl: Byte; ...); { Anzahl = wieviele Grau sein sollten }
procedure ZeichneKreis(Left, Top: Integer; ..)
..
..
end;
begin
for i := 0 to KreiseAnzahl -1 do
begin
if i <= Anzahl then
{ in grau }
else
{ hell grau }
end;
end;
und dann rufst immer die Funktion solange auf bis alles fertiggeladen worden ist.
Edit: Ah, zuspät gesehen das die Aufteilung dein problem ist.