@HolgerX:
Vielen Dank! Genau das hab ich gesucht!
@Delphi-Laie:
Wäre das korrekt? (Die erste Funktion ist Dank HolgerX nicht mehr nötig)
Delphi-Quellcode:
function GetDoubleClickSize: TSize;
var
reg: TRegistry;
begin
reg := TRegistry.Create;
Try
reg.RootKey := HKEY_CURRENT_USER;
reg.OpenKey('Control Panel\Mouse', False);
Result.cx := StrToInt(reg.ReadString('DoubleClickWidth'));
Result.cy := StrToInt(reg.ReadString('DoubleClickHeight'));
Finally
reg.Free;
End;
end;
function InDist(const test, mid: TPoint; const eSize: TSize): Boolean;
var
rFx, rFy: Double;
dX, dY, maxSize: Integer;
begin
dx := mid.X - test.X;
dy := mid.Y - test.Y;
maxSize := Max(eSize.cx, eSize.cy);
rFx := Sqrt(Sqr(maxSize) - Sqr(eSize.cy)) / 2;
rFy := Sqrt(Sqr(maxSize) - Sqr(eSize.cx)) / 2;
Result := Sqrt(Sqr(dX-rFx) + Sqr(dY-rFy))
+ Sqrt(Sqr(dX+rFx) + Sqr(dY+rFy)) <= maxSize;
end;