Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#3

Re: Abfragen ob sich Maus in Kreis befindet

  Alt 20. Dez 2008, 14:10
Eigentlich sollte der Code auch für ein Rechteck nicht funktionieren, da das Shape einen eigenen MouseMove-Event hat und das MouseMove des Forms gar nicht aufgerufen wird, wenn die Maus über dem Shape ist.

So sollte es aber funktionieren:

Delphi-Quellcode:
procedure TForm33.Shape1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
  Inside: Boolean;
  R: Extended;
begin
  if Shape1.Width < Shape1.Height then
    R := Shape1.Width/2
  else
    R := Shape1.Height/2;
  Inside := Sqr(X - R) + Sqr(Y - R) <= Sqr(R);
  ...
end;
Uwe Raabe
  Mit Zitat antworten Zitat