Mode Property (ActiveX)

Specifies the mode of the attribute definition.

Supported platforms: Windows only

Signature

VBA:

object.Mode 
object

Type: Attribute

The object this property applies to.

Property Value

Read-only: No

Type: acAttributeMode enum

Remarks

Note: The value of this property is stored in the AFLAGS system variable.

Examples

VBA:

Sub Example_Mode()
    ' This example creates an attribute definition in model space.
    ' It then queries the initial value of the Mode property,
    ' changes that value, and finally resets the value.
    
    Dim attributeObj As AcadAttribute
    Dim height As Double
    Dim mode As Long
    Dim prompt As String
    Dim insertionPoint(0 To 2) As Double
    Dim tag As String
    Dim value As String
    
    ' Define the attribute definition
    height = 1#
    mode = acAttributeModeVerify
    prompt = "New Prompt"
    insertionPoint(0) = 5#: insertionPoint(1) = 5#: insertionPoint(2) = 0
    tag = "New_Tag"
    value = "New Value"
    
    ' Create the attribute definition object in model space
    Set attributeObj = ThisDrawing.ModelSpace.AddAttribute(height, mode, prompt, insertionPoint, tag, value)
    ZoomAll
    
    ' Return the current field length of the attribute
    Dim currMode As Integer
    Dim constant As String
    currMode = attributeObj.mode
    GoSub GETCONSTANT
    MsgBox "The Mode of the attribute is " & constant, vbInformation, "Mode Example"
    
    ' Change the field length
    attributeObj.mode = acAttributeModeInvisible
    GoSub GETCONSTANT
    attributeObj.Update
    MsgBox "The new Mode of the attribute is " & constant, vbInformation, "Mode Example"
    
    ' Reset the field length to the original value
    attributeObj.mode = currMode
    GoSub GETCONSTANT
    attributeObj.Update
    MsgBox "The Mode of the attribute is reset to " & constant, vbInformation, "Mode Example"
    Exit Sub
    
GETCONSTANT:
    ' Get the constant that corresponds to the current mode
    constant = Choose(attributeObj.mode, "acAttributeModeInvisible", "acAttributeModeConstant", "", "acAttributeModeVerify", "", "", "", "acAttributeModePreset")
    Return
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_Mode()
    ;; This example creates an attribute definition in model space.
    ;; It then queries the initial value of the Mode property,
    ;; changes that value, and finally resets the value.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; Define the attribute definition
    (setq insertionPoint (vlax-3d-point 5 5 0) 
          attHeight 1
          attMode acAttributeModeVerify
          attPrompt "New Prompt"
          attTag "NEW_TAG"
          attValue "New Value")
    
    ;; Create the attribute definition object in model space
    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq attributeObj (vla-AddAttribute modelSpace attHeight attMode attPrompt insertionPoint attTag attValue))
    (vla-ZoomAll acadObj)
    
    ;; Return the current field length of the attribute
    (setq currMode (vla-get-Mode attributeObj))

    ;; Get the constant that corresponds to the current mode
    (setq constant (cond
                       ((= (vla-get-Mode attributeObj) 0) "acAttributeModeNormal")
                       ((= (vla-get-Mode attributeObj) 1) "acAttributeModeInvisible")
                       ((= (vla-get-Mode attributeObj) 2) "acAttributeModeConstant")
                       ((= (vla-get-Mode attributeObj) 4) "acAttributeModeVerify")
                       ((= (vla-get-Mode attributeObj) 8) "acAttributeModePreset")
                   ))

    (alert (strcat "The Mode of the attribute is " constant))
    
    ;; Change the field length
    (vla-put-Mode attributeObj acAttributeModeInvisible)
  
    (setq constant (cond
                       ((= (vla-get-Mode attributeObj) 0) "acAttributeModeNormal")
                       ((= (vla-get-Mode attributeObj) 1) "acAttributeModeInvisible")
                       ((= (vla-get-Mode attributeObj) 2) "acAttributeModeConstant")
                       ((= (vla-get-Mode attributeObj) 4) "acAttributeModeVerify")
                       ((= (vla-get-Mode attributeObj) 8) "acAttributeModePreset")
                   ))
  
    (vla-Update attributeObj)
    (alert (strcat "The new Mode of the attribute is " constant))
    
    ;; Reset the field length to the original value
    (vla-put-Mode attributeObj currMode)
    (setq constant (cond
                       ((= (vla-get-Mode attributeObj) 0) "acAttributeModeNormal")
                       ((= (vla-get-Mode attributeObj) 1) "acAttributeModeInvisible")
                       ((= (vla-get-Mode attributeObj) 2) "acAttributeModeConstant")
                       ((= (vla-get-Mode attributeObj) 4) "acAttributeModeVerify")
                       ((= (vla-get-Mode attributeObj) 8) "acAttributeModePreset")
                   ))

    (vla-Update attributeObj)
    (alert (strcat "The Mode of the attribute is reset to " constant))
)