各位大佬,请问下(entsel "9:00") 运行后会在光标出显示9:00,现有列表(9:00 10:00 11:00),我想在小键盘输入1或者4来切换提示的内容。这个该通过什么方式实现。有劳解答下。


网友答: 见initget  

网友答: 试试 grread

网友答: 这是一个AutoCAD 开发中很常规的问题。
在 AutoCAD 的人机交互方式中,最重要的一种就是命令行交互。程序如何构建、给出命令选项提示,并响应用户的输入,是流程设计中非常重要的部分。
具体到这个问题,实际上就是各种用户输入函数(例如 entsel,getXXXX...等),参数中的 Messege String ,initget关键字的字符串sKeys 都不是固定值,而是需要根据用户的输入做对应修改。

这里一般使用 while 循环,条件是检查输入的值(配合 initget 关键字),cond 列出各种输入情况下做对应的修改或操作,一般这里会有当输入 “Exit/退出(E)” 这样的条件时,while 的条件语句 bLoop将被赋值为 nil 保证能退出循环。

核心其实就是你需要对 sMsg 、sKeys 字符串,通过程序修改,并在循环中作为用户输入函数的参数,循环调用。
  • 上一篇:没有了
  • 下一篇:没有了