[DllImport("user32.dll")]
static extern bool ScreenToClient(IntPtr hWnd, ref POINT lpPoint);
VB Signature:
<DllImport("user32.dll", SetLastError:=True)> _
Private Shared Function ScreenToClient(ByVal hWnd As IntPtr, ByRef lpPoint As POINT) As Boolean
'
End Function
/** 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);
The ScreenToClient function converts the screen coordinates of a specified point on the screen to client-area coordinates.
5/28/2010 7:01:01 PM - patrick-205.145.64.64
The POINT structure defines the x- and y-coordinates of a point.
5/10/2013 10:48:05 PM - dahminator-75.174.65.168
The ScreenToClient function converts the screen coordinates of a specified point on the screen to client-area coordinates.
5/28/2010 7:01:01 PM - patrick-205.145.64.64
Please edit this page!
Do you have...
helpful tips or sample code to share for using this API in managed code?
corrections to the existing content?
variations of the signature you want to share?
additional languages you want to include?
Select "Edit This Page" on the right hand toolbar and edit it! Or add new pages containing supporting types needed for this API (structures, delegates, and more).