用户输入函数的输入选项
下表总结了参数可以指定的控制位。若要一次设置多个条件,请将这些值相加以创建介于 0 和 127 之间的值。如果设置为零,则任何控制条件都不适用于下一个用户输入函数调用。valvalval 注意:AutoCAD 或 ObjectARX 的未来版本可能会定义其他控制位,因此应避免设置表中未显示或本节中未描述的任何位。acedInitGet()
以下程序摘录演示了如何使用 来设置对函数的调用。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()
注意:该函数通过返回而不是 来指示任意输入(如果这已由先前调用启用)。acedDragGen()acedInitGet()RTSTRRTKWORD
父主题: |
|Archiver|CAD开发者社区
( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-3-14 06:14
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.