Flags used to optimize container record invalidation.
The CMA_REPOSITION, CMA_NOREPOSITION, and CMA_TEXTCHANGED attributes are
mutually exclusive. However, any of them can be combined with the CMA_ERASE
attribute by using a logical OR operator (|).
CMA_ERASE
Flag used when the icon view is displayed
to minimize painting of a container record's background when it has changed.
If specified, the background is erased when the display is refreshed. The
default is to not erase the background when the display is refreshed.
CMA_REPOSITION
Flag used to reposition all container records.
This flag must be used if container records are inserted or removed, or
if many changes have occurred. If a container record is inserted, the pRecordArray
parameter points to the inserted record. If a container record is removed,
the pRecordArray parameter points to the record that precedes the
removed one. If several container records have changed, an array of container
record pointers must be used. The container determines the first record
to be invalidated. This is the default.
CMA_NOREPOSITION
Flag used to indicate that container records do
not need to be repositioned. The container draws the record or records pointed
to in the pRecordArray parameter. The container does not do any validation;
therefore it is the application's responsibility to make sure repositioning
is not needed or changing the longest text line is not necessary.
CMA_TEXTCHANGED
Flag used if text has changed and you do not know
whether repositioning is needed. The container determines whether the longest
line or the height of the record has changed. If so, the container repositions
and redraws the necessary visible container records.
It may be necessary to reposition the container records if the number of
lines of text has changed.
Warning: The application must send a CM_INVALIDATERECORD message
if text changes. Otherwise, any further processing is unreliable.
[Back]
[Next]