SetBoundsRect

The SetBoundsRect function controls the accumulation of bounding rectangle information for the specified device context. The system can maintain a bounding rectangle for all drawing operations. An application can examine and set this rectangle. The drawing boundaries are useful for invalidating bitmap caches.

UINT SetBoundsRect(
  HDC hdc,                 // handle of device context
  CONST RECT *lprcBounds,  // address of rectangle coordinates
  UINT flags               // controls rectangle combination
);
 

Parameters

hdc
Handle to the device context for which to accumulate bounding rectangles.
lprcBounds
Pointer to a RECT structure used to set the bounding rectangle. Rectangle dimensions are in logical coordinates. This parameter can be NULL.
flags
Specifies how the new rectangle will be combined with the accumulated rectangle. This parameter can be a combination of the following values:
Value Description
DCB_ACCUMULATE Adds the rectangle specified by the lprcBounds parameter to the bounding rectangle (using a rectangle union operation). Using both DCB_RESET and DCB_ACCUMULATE sets the bounding rectangle to the rectangle specified by the lprcBounds parameter.
DCB_DISABLE Turns off boundary accumulation.
DCB_ENABLE Turns on boundary accumulation, which is disabled by default.
DCB_RESET Clears the bounding rectangle.

Return Values

If the function succeeds, the return value specifies the previous state of the bounding rectangle. This state can be a combination of the following values.

Value Meaning
DCB_DISABLE Boundary accumulation is off.
DCB_ENABLE Boundary accumulation is on. DCB_ENABLE and DCB_DISABLE are mutually exclusive.
DCB_RESET Bounding rectangle is empty.
DCB_SET Bounding rectangle is not empty. DCB_SET and DCB_RESET are mutually exclusive.

If the function fails, the return value is zero.

Windows NT: To get extended error information, call GetLastError.

Remarks

The DCB_SET value is a combination of the bit values DCB_ACCUMULATE and DCB_RESET. Applications that check the DCB_RESET bit to determine whether the bounding rectangle is empty must also check the DCB_ACCUMULATE bit. The bounding rectangle is empty only if the DCB_RESET bit is 1 and the DCB_ACCUMULATE bit is 0.

QuickInfo

  Windows NT: Requires version 3.1 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Unsupported.
  Header: Declared in wingdi.h.
  Import Library: Use gdi32.lib.

See Also

Painting and Drawing Overview, Painting and Drawing Functions, GetBoundsRect, RECT