| VCL以外のウインドウのクライアント座標を計算する |
|
別プロセスのウインドウのクライアント座標を取得する方法です。ネタが無いので結構前に私がNiftyのFDELPHIにRESした物をパクって来ました(^^; 自プロセスであればコンポーネントから取得計算できるので、あまり意味がありません(^^;;;; |
{hOwnerは座標を取得したいウインドウの親ウインドウのハンドル。
hChildはhOwnerの子ウインドウのウインドウハンドルを指定します。}
function GetClientPos(hOwner, hChild: THandle): TPoint;
var
rc: TRect;
begin
GetWindowRect(hChild, rc);
Result := rc.TopLeft;
Windows.ScreenToClient(hOwner, Result);
end;
|