CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 2018 开发者帮助

用户输入函数的输入选项

2024-5-18 16:58| 发布者: admin| 查看: 111| 评论: 0|原作者: admin|来自: AutoCAD

用户输入函数的输入选项

下表总结了参数可以指定的控制位。若要一次设置多个条件,请将这些值相加以创建介于 0 和 127 之间的值。如果设置为零,则任何控制条件都不适用于下一个用户输入函数调用。valvalval

注意:AutoCAD 或 ObjectARX 的未来版本可能会定义其他控制位,因此应避免设置表中未显示或本节中未描述的任何位。acedInitGet()

acedInitGet() 设置的输入选项

   

法典

位值

描述

RSG_NONULL

1

禁止 null 输入

RSG_NOZERO

2

不允许零值

RSG_NONEG

4

不允许负值

RSG_NOLIM

8

即使 LIMCHECK 已打开,也不要检查绘图限制

RSG_DASH

32

绘制橡皮筋线或框时使用虚线

RSG_2D

64

忽略 3D 点的 Z 坐标(仅限 acedGetDist() )

RSG_OTHER

128

允许任意输入 - 无论用户输入什么

以下程序摘录演示了如何使用 来设置对函数的调用。acedInitGet()acedGetInt()

int age; 
acedInitGet(RSG_NONULL | RSG_NOZERO | RSG_NONEG, NULL); 
acedGetInt("How old are you? ", &age);

此序列询问用户的年龄。如果用户尝试输入负值或零值、仅按 Enter 键或输入关键字,AutoCAD 会自动显示错误消息并重复提示。(AutoCAD 本身会拒绝输入非整数值的尝试。

该选项允许下一个用户输入函数调用接受任意输入。如果设置了该值,并且用户输入了一个无法识别的值,则该函数将返回 ,并且可以通过调用 来检索输入。因为像 ENTER 一样,最终用户输入会用空格来分隔,所以任意输入从不包含空格。在上表中列出的所有选项中,该选项的优先级最低;例如,如果调用不允许使用 的负数,AutoCAD 仍会拒绝这些负数。RSG_OTHERRSG_OTHERacedGetxxx()RTKWORDacedGetInput()RSG_OTHERacedInitGet()RSG_NONEG

以下代码允许任意输入(错误检查最少)。

int age, rc; 
char userstring[511]; 
acedInitGet(RSG_NONULL | RSG_NOZERO | RSG_NONEG | RSG_OTHER, 
    "Mine Yours"); 
if ((rc = acedGetInt("How old are you? ", &age)) 
    == RTKWORD) 
// Keyword or arbitrary input  
    acedGetInput(userstring); 
} 

在此示例中,返回下表中显示的值,具体取决于用户的输入。acedGetInt()

任意用户输入

 

用户输入

结果

41

acedGetInt() 返回 RTNORM 并将 age 设置为 41

m

acedGetInt() 返回 RTKWORD,acedGetInput() 返回 “Mine”

y

acedGetInt() 返回 RTKWORD,acedGetInput() 返回 “Yours”

二十

acedGetInt() 返回 RTKWORD,acedGetInput() 返回 “twenty”

什么???

acedGetInt() 返回 RTKWORD,acedGetInput() 返回 “what???”

-10

AutoCAD会拒绝此输入,并在设置RSG_NONEG时重新显示提示符(其他位代码优先于RSG_OTHER)

-34.5

acedGetInt() 返回 RTKWORD,acedGetInput() 返回

"-34.5"

AutoCAD 不会拒绝此值,因为它需要整数,而不是实际值(如果这是 acedGetReal() 调用,AutoCAD 将接受负整数作为任意输入,但会拒绝负实值)

注意:该函数通过返回而不是 来指示任意输入(如果这已由先前调用启用)。acedDragGen()acedInitGet()RTSTRRTKWORD

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1   苏公网安备32011402011833)

GMT+8, 2025-3-14 06:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部