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; |