- UID
- 10
- 积分
- 1213
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-1-3
- 最后登录
- 1970-1-1
|
发表于 2003-9-10 22:25:23
|
显示全部楼层
以下转载自明经通道 [/COLOR]
控制用户输入
你可使用InitializeUserInput方法定义关键字或约束输入到用户输入方法的类型。其使用和参数值与AutoLISP的initget函数大致相同。InitializeUserInput可用于以下方法:GetAngle、GetCorner、GetDistance、GetInteger、GetKeyword、GetOrientation、GetPoint和GetReal。InitializeUserInput不能用于GetString方法。当用户输入方法没有返回字符串值时,使用GetInput方法以返回字符串值(关键字或字母输入)。
InitializeUserInput方法接受两个参数,第一个参数为位编码整数值,它确定用户输入方法的输入选择。第二个参数为字符串,它定义了有效的关键字。
在AutoCAD命令行中从用户获取整数值或关键字
以下示例提示用户输入非零正整数或关键字:

- [FONT=courier new]
- Sub Ch3_UserInput()
- ' InitializeUserInput (6)的第一个参数约束输入非零正整数。
- ' 第二个参数为有效的关键字列表。
- ThisDrawing.Utility.InitializeUserInput 6, "Big Small Regular"
- ' 设定提示字符串
- Dim promptStr As String
- promptStr = vbCrLf & "输入大小或[大(B)/小(S)/正常(R)]<正常>):"
- ' 在GetInteger 提示下输入关键字将会出错;
- ' 在检查到有出错信息后还允许程序继续运行,
- ' 你必须设定出错处理以恢复该错误。
- On Error Resume Next
- ' 获取用户输入值
- Dim returnInteger As Integer
- returnInteger = ThisDrawing.Utility.GetInteger(promptStr)
- ' 检查错误。如果错误描述与以下提示匹配,
- ' 则使用GetInput以取得返回的字符串
- ' 否则,使用returnInteger值。
- If Err.Description = "User input is a keyword" Then
- Dim returnString As String
- returnString = ThisDrawing.Utility.GetInput()
- Err.Clear
- Else
- If returnInteger = 0 Then '如果用户按了回车
- returnString = "Regular" '设定默认值
- Else '否则,
- returnString = returnInteger '使用输入的值
- End If
- End If
- ' Display the result
- MsgBox returnString, , "InitializeUserInput 示例"
- End Sub
- [/FONT]
|
|