明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1706|回复: 3

[求助]VBA中哪个GetXXXX是允许用户在图形中选择或用户输入的啊?

[复制链接]
发表于 2009-9-24 22:25:00 | 显示全部楼层 |阅读模式

写程序中遇到一个问题,在获取值是需要考虑用户是自己输入了某个值还是在图形中选择了某个文本对象,有哪个GetXXX可以实现啊?或者其他哪个方法可以实现啊?请知道的帮帮忙,告知一下,谢谢····

发表于 2009-9-24 22:37:00 | 显示全部楼层

选择对象时加关键字

 楼主| 发表于 2009-9-24 23:07:00 | 显示全部楼层

可以详细点吗??不明白如何加关键字。。。

谢谢!

发表于 2009-9-25 00:14:00 | 显示全部楼层
语法
object.InitializeUserInput Bits[, Keyword]
Object
[url=mkMSITStore:C:\Program%20Files\NBSoft\NBCadTools\acadauto.chm::/idh_utility_object.htm]Utility[/url]
使用该方法的对象。
Bits
Integer[整数]; 仅用于输入
要同时设置多个条件上,可把这些值相加做任意组合如果不包含这些值或设为 0,则不使用这些控制条件。
1
不接受 NULL 输入。防止用户只按回车或空格来响应输入请求。
2
不接受输入零值(0)。防止用户输入 0 来响应输入请求。
4
不接受输入负值。防止用户输入负值来响应输入请求。
8
即使 LIMCHECK 系统变量为打开时也不检查图形界限。使用户能够输入当前图形界限以外的点。即使 AutoCAD 的系统变量 LIMCHECK 当前被设置为开 (ON),本条件也照样对随后调用的用户输入函数有效。
16
目前不使用。
32
用虚线绘制拖引线或拉伸方框。对于那些可以由用户在图形屏幕上通过选择位置来指定一个点的函数,设置该控制位将使拖引线和拉伸方框显示为虚线而不是实线(某些显示驱动程序用颜色醒目的线来代替虚线)。如果系统变量 POPUPS 设为 0
,AutoCAD 将忽略该控制位。
64
忽略三维点的 Z 坐标(只用于 GetDistance 方法). 该项忽略由 GetDistance 方法返回的三维点的 Z 坐标,以使应用程序确保该函数返回的是二维距离。
128
允许任意输入任何用户类型。
Keyword
Variant[变体] (字符串数组); 仅用于输入; 可选项
将被后续的用户输入方法识别的关键字。
说明
在调用 [url=mkMSITStore:C:\Program%20Files\NBSoft\NBCadTools\acadauto.chm::/idh_getkeyword.htm]GetKeyword[/url] 前必须用该方法定义关键字。假如已经调用该方法定义了关键字,请确定用户输入方法可接受正常返回值以外的关键字值。可接受关键字的用户输入方法有: GetKeyword, GetInteger, GetReal, GetDistance, GetAngle, GetOrientation, GetPoint, 和 GetCorner。  
  1. Sub Example_InitializeUserInput()
  2.     ' This example prompts for user input of a point. By using the
  3.     ' InitializeUserInput method to define a keyword list, it can also
  4.     ' return keywords entered by the user.
  5.    
  6.     On Error Resume Next
  7.    
  8.     ' Define the valid keywords
  9.     Dim keywordList As String
  10.     keywordList = "Keyword1 Keyword2"
  11.    
  12.     ' Call InitializeUserInput to setup the keywords
  13.     ThisDrawing.Utility.InitializeUserInput 128, keywordList
  14.    
  15.     ' Get the user input
  16.     Dim returnPnt As Variant
  17.     returnPnt = ThisDrawing.Utility.GetPoint(, "Enter a point(Keyword1, Keyword2): ")
  18.     If Err Then
  19.          If StrComp(Err.Description, "User input is a keyword", 1) = 0 Then
  20.          ' One of the keywords was entered
  21.              Dim inputString As String
  22.              Err.Clear
  23.              inputString = ThisDrawing.Utility.GetInput
  24.              MsgBox "You entered the keyword: " & inputString
  25.          Else
  26.              MsgBox "Error selecting the point: " & Err.Description
  27.              Err.Clear
  28.          End If
  29.     Else
  30.         ' Display point coordinates
  31.         MsgBox "The WCS of the point is: " & returnPnt(0) & ", " & returnPnt(1) & ", " & returnPnt(2), , "GetInput 示例"
  32.     End If
  33.    
  34. End Sub
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 00:29 , Processed in 0.173391 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表