Jump to content

WinQueryWindowRect: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Created page with "This function returns a window rectangle. ==Syntax== WinQueryWindowRect(hwnd, prclDest) Category:Win"
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
This function returns a window rectangle.
This function returns a window rectangle.


==Syntax==
== Syntax ==
  WinQueryWindowRect(hwnd, prclDest)
 
  WinQueryWindowRect(hwnd, prclDest);
 
== Parameters ==
;''hwnd'' ([[HWND]]) - input: Window handle whose rectangle is retrieved.
 
;''prclDest'' ([[PRECTL]]) - output: Window rectangle.
:Window rectangle of ''hwnd'', in window coordinates.
:Note: The value of each field in this structure must be in the range -32,768 through 32,767. The data type [[WRECT]] may also be used, if supported by the language.
 
== Returns ==
;''rc'' ([[BOOL]]) - returns: Rectangle-returned indicator.
:TRUE: Rectangle successfully returned.
:FALSE: Rectangle not successfully returned.
 
== Errors ==
Possible returns from [[WinGetLastError]]
;PMERR_INVALID_HWND (0x1001)
:An invalid window handle was specified.
 
== Remarks ==
The rectangle is in window coordinates relative to itself, so that the bottom left corner is at the position (0,0).
 
If the size of a frame window has been changed to zero by [[WinSetWindowPos]] or [[WinSetMultWindowPos]], the original size is returned because the window is hidden, not sized, in this instance.
 
== Example Code ==
Declaration:
<PRE>
#define INCL_WINWINDOWMGR /* Or use INCL_WIN, INCL_PM, Also in COMMON section */
#include <os2.h>
 
HWND      hwnd;      /*  Window handle whose rectangle is retrieved. */
PRECTL    prclDest;  /*  Window rectangle. */
BOOL      rc;        /*  Rectangle-returned indicator. */
 
rc = WinQueryWindowRect(hwnd, prclDest);
</PRE>
This example gets the dimensions of the window and calls WinInvalidateRect to invalidate the window. The application will be sent a WM_PAINT message with the entire window as the update rectangle.
<pre>
#define INCL_WINWINDOWMGR
#include <os2.h>
 
HAB  hab;
HWND  hwnd;
RECTL rcl;
 
WinQueryWindowRect(hwnd, &rcl);
WinInvalidateRect(hwnd,        /* window to invalidate    */
                  &rcl,    /* invalid rectangle      */
                  FALSE);      /* do not include children */
</pre>
 
== Related Functions ==
* [[WinEnableWindow]]
* [[WinIsThreadActive]]
* [[WinIsWindow]]
* [[WinIsWindowEnabled]]
* [[WinQueryDesktopWindow]]
* [[WinQueryObjectWindow]]
* [[WinQueryWindowDC]]
* [[WinQueryWindowProcess]]
* [[WinWindowFromDC]]
* [[WinWindowFromID]]
* [[WinWindowFromPoint]]


[[Category:Win]]
[[Category:Win]]

Latest revision as of 16:08, 15 May 2025

This function returns a window rectangle.

Syntax

WinQueryWindowRect(hwnd, prclDest);

Parameters

hwnd (HWND) - input
Window handle whose rectangle is retrieved.
prclDest (PRECTL) - output
Window rectangle.
Window rectangle of hwnd, in window coordinates.
Note: The value of each field in this structure must be in the range -32,768 through 32,767. The data type WRECT may also be used, if supported by the language.

Returns

rc (BOOL) - returns
Rectangle-returned indicator.
TRUE: Rectangle successfully returned.
FALSE: Rectangle not successfully returned.

Errors

Possible returns from WinGetLastError

PMERR_INVALID_HWND (0x1001)
An invalid window handle was specified.

Remarks

The rectangle is in window coordinates relative to itself, so that the bottom left corner is at the position (0,0).

If the size of a frame window has been changed to zero by WinSetWindowPos or WinSetMultWindowPos, the original size is returned because the window is hidden, not sized, in this instance.

Example Code

Declaration:

#define INCL_WINWINDOWMGR /* Or use INCL_WIN, INCL_PM, Also in COMMON section */
#include <os2.h>

HWND      hwnd;      /*  Window handle whose rectangle is retrieved. */
PRECTL    prclDest;  /*  Window rectangle. */
BOOL      rc;        /*  Rectangle-returned indicator. */

rc = WinQueryWindowRect(hwnd, prclDest);

This example gets the dimensions of the window and calls WinInvalidateRect to invalidate the window. The application will be sent a WM_PAINT message with the entire window as the update rectangle.

#define INCL_WINWINDOWMGR
#include <os2.h>

HAB   hab;
HWND  hwnd;
RECTL rcl;

WinQueryWindowRect(hwnd, &rcl);
WinInvalidateRect(hwnd,        /* window to invalidate    */
                  &rcl,    /* invalid rectangle       */
                  FALSE);      /* do not include children */

Related Functions