- function GlobalPosToLocalPos(local:TControl;global:TPoint):TPoint;
- var WinInfo: TWindowInfo;
- begin
- Result:=global;
- while (local.Parent<>nil) and (not (local is TWinControl)) do
- begin
- dec(Result.X,local.Left);
- dec(Result.Y,local.Top);
- local:=local.Parent;
- end;
- if local<>nil then
- begin
- GetWindowInfo(TWinControl(local).Handle,WinInfo);
- dec(Result.X,WinInfo.rcClient.Left);
- dec(Result.Y,WinInfo.rcClient.Top);
- end;
- end;