das mit der Farbe hatte ich eigentlich schon gezeigt.
Delphi-Quellcode:
var Brix4: TBitMap;
Rect: TRect;
Brix4 := TBitmap.Create;
Brix4.LoadFromFile(Random_Parts);
//Rect.Left := 0; // alles selber setzen
//Rect.Top := 0;
//Rect.Right := TetrisBox.Width;
//Rect.Bottom := y - 1;
Rect := TetrisBox.ClientRect; // oder etwas kürzer
Rect.Bottom := y - 1;
TetrisBox.Canvas.BrushColor := Color;
TetrisBox.Canvas.FillRect(Rect);
Tetrisbox.Canvas.Draw(240, y, Brix4);
Brix4.Free;
y := y + 30;
wie gesagt, du kannst für FillRect die Zeichenposition selbst festlegen und mußt dort nur den Bereich angeben, welcher gemalt werden soll.
PS: verändert sich Random_Parts wärend das Bild runterrutscht?
wenn nicht, dann könntest du Brix4 nur am Anfang erstellen (.Create) und laden (.LoadFromFile) und ganz am Ende erst wieder freigeben (.Free) ... so wie es jetzt wird, muß das Bild ja bei jedem Schritt neu erstellt, geladen und freigegeben werden.