CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ObjectARX 开发指南

用户输入函数的输入选项

2023-1-1 01:15| 发布者: admin| 查看: 266| 评论: 0|来自: AutoCAD

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

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

输入选项由 acedInitGet() 设置。

   

法典

位值

描述

RSG_NONULL

1

禁止空输入

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);

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

该选项允许下一个用户输入函数调用接受任意输入。Ifis 设置和用户输入无法识别的值,函数返回,并且可以通过调用 to 检索输入。由于与 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

aceedGetInt() 返回 RTNORM 并将年龄设置为 41

m

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

y

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

二十

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

什么???

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

-10

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

-34.5

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

"-34.5"

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

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

路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-5-19 12:12

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部