InitializeUserInput メソッド(ActiveX)

GetKeyword メソッドを初期化します。

サポートされているプラットフォーム: Windows のみ

構文と要素

VBA:

object.InitializeUserInput Bits [, Keyword]
object

タイプ: Utility

このメソッドが適用されるオブジェクト。

Bits

アクセス: 入力のみ

タイプ: 整数型

一度に複数の条件を設定するには、値を自由に組み合せて加算します。この値が含まれない場合、または 0 に設定されている場合は、コントロール条件は適用されません。

  • 1: NULL 入力を認めません。ユーザが要求に対して、[Enter]またはスペースだけの入力で応答できないようにします。
  • 2: ゼロ(0)の入力を認めません。ユーザが要求に対して、0 の入力で応答できないようにします。
  • 4: 負の値を認めません。ユーザが要求に対して、負の値の入力で応答できないようにします。
  • 8: システム変数 LIMCHECK がオンに設定されていても、図面範囲をチェックしません。したがって、現在の図面範囲の外側にある点を入力することができます。この条件は、AutoCAD システム変数 LIMCHEK が現在設定されている場合でも、次に呼び出されるユーザ入力関数に適用されます。
  • 16: 現在使用されていません。
  • 32: ラバーバンド線またはボックスを描く際に破線を使用します。これによって、グラフィックス画面上の点の位置を選択することによってユーザが点を指定できるメソッドでは、ラバーバンド線またはボックスが実線ではなく破線で表現されます(ディスプレイ ドライバによっては、破線の代わりに独自の色が使用されます)。AutoCAD のシステム変数 POPUPS が 0(ゼロ)の場合、AutoCAD はこのビットを無視します。
  • 64: 3D 点の Z 座標を無視します(GetDistance メソッドのみ)。このオプションは、GetDistance メソッドから返される 3 次元の Z 座標を無視するので、確実に 2 次元の距離だけが返されるようにします。
  • 128: ユーザは何でも入力できます。
Keyword

アクセス: 入力のみ; オプション

タイプ: バリアント型(文字列の配列)

次のユーザ入力メソッドが認識するキーワード。

戻り値(RetVal)

戻り値はありません。

注意

GetKeyword メソッドを呼び出す前に、このメソッドでキーワードが定義されていなければなりません。ユーザ入力メソッドの中には、通常の戻り値だけでなくキーワード値を受け取るものがあります。ただし、InitializeUserInput メソッドを呼び出してキーワードを定義しておかなければなりません。キーワードを受け取ることができるユーザ入力メソッドは、GetKeywordGetIntegerGetRealGetDistanceGetAngleGetOrientationGetPointGetCorner です。

VBA:

Sub Example_InitializeUserInput()
    ' This example prompts for user input of a point. By using the
    ' InitializeUserInput method to define a keyword list, the example can also
    ' return keywords entered by the user.
    
    AppActivate ThisDrawing.Application.Caption
    
    On Error Resume Next
    
    ' Define the valid keywords
    Dim keywordList As String
    keywordList = "Line Circle"
    
    ' Call InitializeUserInput to set up the keywords
    ThisDrawing.Utility.InitializeUserInput 128, keywordList
    
    ' Get the user input
    Dim returnPnt As Variant
    returnPnt = ThisDrawing.Utility.GetPoint(, vbLf & "Enter a point [Line/Circle]: ")
    If Err Then
         If StrComp(Err.Description, "User input is a keyword", 1) = 0 Then
         ' One of the keywords was entered
             Dim inputString As String
             Err.Clear
             inputString = ThisDrawing.Utility.GetInput
             MsgBox "You entered the keyword: " & inputString
         Else
             MsgBox "Error selecting the point: " & Err.Description
             Err.Clear
         End If
    Else
        ' Display point coordinates
        MsgBox "The WCS of the point is: " & returnPnt(0) & ", " & returnPnt(1) & ", " & returnPnt(2), , "GetInput Example"
    End If
    
End Sub

Visual LISP:

(vl-load-com)
(defun c:Example_InitializeUserInput()
    ;; This example prompts for user input of a point. By using the
    ;; InitializeUserInput method to define a keyword list, it can also
    ;; return keywords entered by the user.
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    
    ;; Define the valid keywords
    (setq keywordList "Line Circle")
    
    ;; Call InitializeUserInput to set up the keywords
    (vla-InitializeUserInput (vla-get-Utility doc) 128 keywordList)
    
    ;; Get the user input
    (setq returnPntOrErr (vl-catch-all-apply 'vla-GetPoint (list (vla-get-Utility doc) nil "Enter a point [Line/Circle]: ")))

    (if (= (type returnPntOrErr)'VL-CATCH-ALL-APPLY-ERROR)
        (progn
            (if (= (vl-catch-all-error-message returnPntOrErr) "Automation Error. User input is a keyword")
	        (progn
                    (setq inputString (vla-GetInput (vla-get-Utility doc)))
                    (alert (strcat "You entered the keyword: " inputString))
		)
                (alert "User pressed ESC or unknown input was provided.")
	    )
        )
        ;; Display point coordinates
        (progn
	    (setq returnPnt (vlax-safearray->list (vlax-variant-value returnPntOrErr)))
            (alert (strcat "The WCS of the point is: " (rtos (nth 0 returnPnt) 2) ", " (rtos (nth 1 returnPnt) 2) ", " (rtos (nth 2 returnPnt) 2)))
	)
    )
)