PickFirst Property (ActiveX)

Determines if you select objects before (noun-verb selection) or after you issue a command.

Supported platforms: Windows only

Signature

VBA:

object.PickFirst
object

Type: PreferencesSelection

The object this property applies to.

Property Value

Read-only: No

Type: Boolean

Remarks

The initial value of this property is True.

Note: The value for this property is stored in the PICKFIRST system variable.

Examples

VBA:

Sub Example_PickFirst()
    ' This example reads and modifies the preference value that controls
    ' whether you select objects before (noun-verb selection) or after
    ' you issue a command.
    ' When finished, this example resets the preference value back to
    ' its original value.
    
    Dim ACADPref As AcadPreferencesSelection
    Dim originalValue As Variant, newValue As Variant
    
    ' Get the selection preferences object
    Set ACADPref = ThisDrawing.Application.Preferences.Selection
    
    ' Read and display the original value
    originalValue = ACADPref.PickFirst
    MsgBox "The PickFirst preference is set to: " & originalValue

    ' Modify the PickFirst preference by toggling the value
    ACADPref.PickFirst = Not (ACADPref.PickFirst)
    newValue = ACADPref.PickFirst
    MsgBox "The PickFirst preference has been set to: " & newValue

    ' Reset the preference back to its original value
    '
    ' * Note: Comment out this last section to leave the change to
    '         this preference in effect
    ACADPref.PickFirst = originalValue
    MsgBox "The PickFirst preference was reset back to: " & originalValue
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_PickFirst()
    ;; This example reads and modifies the preference value that controls
    ;; whether you select objects before (noun-verb selection) or after
    ;; you issue a command.
    ;; When finished, this example resets the preference value back to
    ;; its original value.
    (setq acadObj (vlax-get-acad-object))
    (setq preferences (vla-get-Preferences acadObj))
    
    ;; Read and display the original value
    (setq originalValue (vla-get-PickFirst (vla-get-Selection preferences)))
    (alert (strcat "The PickFirst preference is set to: " (if (= originalValue :vlax-true) "True" "False")))

    ;; Modify the PickFirst preference by toggling the value
    (vla-put-PickFirst (vla-get-Selection preferences) (if (= originalValue :vlax-true) :vlax-false :vlax-true))
    (setq newValue (vla-get-PickFirst (vla-get-Selection preferences)))
    (alert (strcat "The PickFirst preference has been set to: " (if (= newValue :vlax-true) "True" "False")))

    ;; Reset the preference back to its original value
    ;;
    ;; * Note: Comment out this last section to leave the change to
    ;;         this preference in effect
    (vla-put-PickFirst (vla-get-Selection preferences) originalValue)
    (alert (strcat "The PickFirst preference was reset back to: " (if (= originalValue :vlax-true) "True" "False")))
)