Prev Next

SetBoundsRect info  Overview  Group

The SetBoundsRect function controls the accumulation of bounding rectangle information for the specified device context. Windows 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
Identifies the device context for which to accumulate bounding rectangles.
lprcBounds
Points 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. 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.

See Also

GetBoundsRect, RECT