Da es ja nun wohl eh zu spät ist: ich hatte einen ähnlichen Gedanken wie stahli, nur würde ich das aufgrund der Aufgabenstellung ein wenig anders machen.
Delphi-Quellcode:
procedure TDeinForm.SomeButtonClick(Sender: TObject);
var
CurrentShape: TShape;
begin
if SpeedButton1.Down then
CurrentShape := Shape1
else
CurrentShape := Shape2;
(* Hier nun irgendwas mit CurrentShape machen, wie Farbe ändern etc. *)
end;
Somit ist die zusätzliche Variable enthalten sowie die If-Abfrage. Wozu die Variablen für Form/Farbe gut sein sollen, ist mir allerdings entgangen.