[DllImport("user32.dll")]
static extern bool ScreenToClient(IntPtr hWnd, ref POINT lpPoint);
<DllImport("user32.dll", SetLastError:=True)> _
Private Shared Function ScreenToClient(ByVal hWnd As IntPtr, ByRef lpPoint As POINT) As Boolean
'
End Function
None.
Please add some!
/* using ScreenToClient to convert to a managed Rectangle. hWnd is assumed to be the handle to the form/control you need coords for */
RECT rct;
POINT topLeft;
POINT bottomRight;
/* Getting a windows position */
GetWindowRect(hWnd, out rct);
/* assign RECT coods to POINT */
topLeft.X = rct.Left;
topLeft.Y = rct.Top;
bottomRight.X = rct.Right;
bottomRight.Y = rct.Bottom;
/* this takes the POINT, which is using screen coords (0,0 in top left screen) and converts them into coords inside specified window (0,0 from top left of hWnd) */
ScreenToClient(hWnd, ref topLeft);
ScreenToClient(hWnd, ref bottomRight);
int width = topLeft.X + bottomRight.X;
int height = topLeft.Y + bottomRight.Y;
Rectangle R = new Rectangle(topLeft.X, topLeft.Y, width, height);