Description

Detailed status and other per-feature flags

Property type

A Variant value.  

Syntax

object.FeatureStatusFlags([Selector], [fsfMask]) [= value]

The FeatureStatusFlags Property syntax has these parts:

PartDescription
objectAn expression evaluating to an object of type McFeatures.
SelectorOptional. A Variant value.

An empty variant, a single negative value, a single index value, or an array of zero or more index values (negative index values are legal but will be ignored).

If the Selector argument is a non-negative scalar value, then FeatureStatusFlags of the indicated feature from the collection is exposed or set as a scalar long value.

If the Selector argument is a value of negative one (-1), then FeatureStatusFlags of all features from the collection are exposed or set as a scalar Long value. The property will be the OR'ed mcFeatureStatusFlags flags of all features in the collection.

If the Selector argument is missing or any negative value other than minus 1, then the Selected property is exposed or set as an array of 'long' mcFeatureStatusFlags feature flags values, one for each feature. The number of elements in the array will be equal to the Count property.

If Selector is an array, then zero or positive values are treated as indices into the features collection, negative values are legal but ignored. In this case, the FeatureStatusFlags will be exposed or set as an array of Long values equal to the length of the number of non-negative elements in the Selector array. Index values greater or equal to the Count property are illegal.

fsfMaskOptional. A mcFeatureStatusFlags enumeration, as described in settings.

A mask for the flags being set or accessed. Default value is mcfsfAllFlags.

valueA Variant value.

Settings

The settings for fsfMask are:

ConstantValueDescription
 mcfsfNoFlags0

No flags

 mcfsfDeselected32

Deselected by user. (BLBSEL_USER >> 8)

 mcfsfOutOfRange64

Not selected due to being out-of-range. (BLBSEL_INRANGE >> 8)

 mcfsfCancelled128

Not selected due to touching a guard frame. (BLBSEL_CANCELLED >> 8)

 mcfsfAnyNotSelected224

Mask for not selected for any reason.

 mcfsfXorOnMerge2048

if set, this feature is Xor'ed during a merge (see also mcofDefaultXorOnMerge)

 mcfsfPolyline4096

If set, a single-segment line is still treated as a polyline (see also mcofDefaultPolyline)

 mcfsfDisplayAsBitmap8192

Not Implemented Yet. If set, this region feature is displayed as a bitmap (see also mcoDefaultDisplayAsBitmap)

 mcfsfCircle65536

Not Implemented Yet. If set, a circular ellipse treated as circle (see also mcofDefaultCircle)

 mcfsfFlatEllipse131072

Not Implemented Yet. If set, angle 0 ellipse is a mcftFlatEllipse (see also mcofDefaultFlatEllipse)

 mcfsfFlatRect262144

Not Implemented Yet. If set, angle 0 box is not Free to rotate (see also mcofDefaultFlatRect)

 mcfsfSquare524288

Not Implemented Yet. If set, a symetric rectangle is a square (see also mcofDefaultSquare)

 mcfsfAllFlags-1

all flags

Remarks

The selected status is used to determine whether a feature is selected or not. Three of the status flags indicate why the feature is disabled. By default, these bits of the status flags are equal to 0, which means that the feature is selected. Possible disabling flags are mcfsfOutOfRange, mcfsfDeselected and mcfsfCancelled. Other flags can indicate other aspects of individual feature state.

The property is exposed as a Variant holding Long values; each value is made up of zero or more mcFeatureStatusFlags values or'ed together. Depending on the Selector argument, the returned Variant may be a scalar Long value of these flags, or it may be an array of such flag values. The property is exposed as an array if the Selector argument is an array or if it is a negative scalar value other than -1 (when the Selector argument is -1, then the property is a scalar Long value holding the OR'ed flags from all features).

On assignment, you may assign either a scalar Long mcFeatureStatusFlags value or an array of such Long values. The Selector argument determines which features are set with the assigned mcFeatureStatusFlags value(s). Each element in the assigning array is used and then reused as necessary to set all of the selected features; thus, when the assigning value is a scalar, all selected features are assigned the same mcFeatureStatusFlags value.

A new Features collection is all selected by default.