Delphi-Quellcode:
procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (Maus.Left+Maus.Width) > ClientWidth then
Maus.Left := ClientWidth - Maus.Width;
If (Katze.Left+Katze.Width) > ClientWidth then
Katze.Left := ClientWidth-Katze.Width;
If (Maus.Top+Maus.Height) > ClientHeight then
Maus.Top := ClientHeight - Maus.Height;
If (Katze.Top+Katze.Height) > ClientHeight then
Katze.Top := ClientHeight-Katze.Height;
end;
Pack den Code lieber nicht ins KeyPress sondern ans Ende von deinem Timer1, sodass das nach jeder Bewegungsaktion überprüft wird.
Außerdem prüfst du nicht auf <0. Ist das beabsichtigt? So können Maus und Katze nämlich nach links und oben abhauen.