Method XbpWindow():invalidateRect() Foundation
Mark a window area as invalid (for redraw).
:invalidateRect( [<aRectangle>], [<lChilds>], [<nRgnOp>] ) --> lSuccess
Constant | Description |
---|---|
XBP_INVREGION_LOCK | Region is locked for manipulation, redraw is issued upon release. <aRectangle> specifies the initial invalid region. |
XBP_INVREGION_DISCARD *) | Current invalid region is discarded. If no region is locked using XBP_INVREGION_LOCK, the complete area in <aRectangle> is redrawn. |
XBP_INVREGION_RELEASE | The invalid region is released and redrawn. May be combined with one of the logical region operators. |
XBP_INVREGION_AND | New invalid region is the intersection of the current region with the area specified in <aRectangle>. |
XBP_INVREGION_OR | New invalid region is the union of the current region and the area specified in <aRectangle>. |
XBP_INVREGION_XOR | Same as XBP_INVREGION_OR, but overlapping areas are excluded. |
XBP_INVREGION_DIFF | New invalid region is the current region with the area specified in <aRectangle> excluded. |
|
This method returns the value .T. (true) if the specified area could be marked as invalid, otherwise it returns .F. (false).
The method :invalidateRect() specifies a rectangular area of the Xbase Part as invalid. This causes the area to be redrawn and the event xbeP_Paint to be generated. The following example code would completely invalidate an Xbase Part causing it to be entirely redrawn:
To redraw only parts of an Xbase Part, several calls to method :invalidateRect() may be combined to define the invalid area. The following code snippet invalidates the rectangle {50,50,150,150}. However, the inside of the rectangle is not redrawn. Instead, a logical XOR operator is applied to exclude parts of the rectangle from the invalid region.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.