fInvalidateRecord (USHORT)

      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]