Noch etwas kürzer:
Delphi-Quellcode:
procedure TForm1.SHAPEClick(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if Sender is TShape then
begin
with TShape(Sender).Brush do
begin
if Color = clMaroon then
Color := clBlack
else
Color := clMaroon;
end;
end;
end;
Ich empfehle dir aber, die "Funktion von der Darstellung zu trennen", also in diesem Falle, nicht die Information direkt in den Farbinformationen der Shapes abzuspeichern, sondern zur Datenspeicherung, ein Array of Boolean zu benutzen, und die Shapes selbst nur zur Darstellung dieses Arrays zu benutzen.