从任何 AutoCAD 输入设备读取值
支持的平台:视窗和 Mac OS
签名
(grread [track] [allkeys [curtype]])
-
跟踪
-
类型:T 或零
如果提供且未提供,则此参数允许在指针设备移动时从指针设备返回坐标。nil
-
所有键
-
类型:整数
告诉要执行哪些功能的代码。所有键位码值可以相加以实现组合功能。可以指定以下值:grread
1(位 0) -- 返回拖动模式坐标。如果设置了此位,并且用户移动定点设备而不是选择按钮或按键,则返回一个列表,其中第一个成员是类型 5,第二个成员是当前指点设备(鼠标或数字化器)位置的 (X,Y) 坐标。这就是AutoCAD实现拖动的方式。grread
2(位 1) -- 返回所有键值,包括函数键和光标键代码,并且在用户按光标键时不移动光标。
4(位 2) -- 使用curtype参数中传递的值来控制光标显示。
8(位 3) -- 当用户按 Esc 时不显示错误:控制台中断消息。
-
库尔类型
-
一个整数,指示要显示的光标的类型。必须设置位 2 的所有键值才能使curtype值生效。curtype参数仅影响当前函数调用期间的游标类型。可以为curtype 指定以下值之一:grread
0 -- 显示正常十字准线。
1-- 不显示光标(无十字准线)。
2-- 显示对象选择“目标”光标。
返回值
类型:列表
该函数返回一个列表,其第一个元素是指定输入类型的代码。列表的第二个元素是整数或点,具体取决于输入的类型。下表列出了返回值:grread
GRREAD 返回值
|
第一个元素
|
第二个要素
|
价值
|
输入类型
|
价值
|
描述
|
2
|
键盘输入
|
不同
|
字符代码
|
3
|
所选点
|
3D 点
|
点坐标
|
4
|
屏幕/下拉菜单项(来自定点设备)
|
0 到 999
1001 到 1999
2001 到 2999
3001 到 3999
...依此类推,到
16001 到 16999
|
屏幕菜单框编号
POP1 菜单框编号
POP2 菜单框编号
POP3 菜单框编号
...依此类推,到
POP16 菜单框编号
|
5
|
定点设备(仅在启用跟踪时返回)
|
3D 点
|
拖动模式坐标
|
6
|
按钮菜单项
|
0 到 999
1000 到 1999
2000 to 2999
3000 to 3999
|
按钮1 菜单按钮编号
按钮2 菜单按钮编号
BUTTONS3 menu button no.
BUTTONS4 menu button no.
|
7
|
TABLET1 menu item
|
0 to 32767
|
Digitized box no.
|
8
|
TABLET2 menu item
|
0 to 32767
|
Digitized box no.
|
9
|
TABLET3 menu item
|
0 to 32767
|
Digitized box no.
|
10
|
TABLET4 menu item
|
0 to 32767
|
Digitized box no.
|
11
|
AUX menu item
|
0 to 999
1000 to 1999
2000 to 2999
3000 到 3999
|
AUX1 menu button no.
AUX2 menu button no.
AUX3 menu button no.
AUX4 菜单按钮编号
注意:快捷方式菜单必须设置为值 0。
|
12
|
指针按钮(跟随类型 6 或类型 11 返回)
|
3D 点
|
点坐标
|
25
|
指针辅助按钮
|
0 或更大
|
沿 X 轴的屏幕坐标值
注意:快捷方式菜单必须设置为大于 0 的值。
|
言论
只有专门的 AutoLISP 例程需要此功能。AutoLISP 的大多数输入应该通过各种函数获得。getXXX
在 ais 处于活动状态时输入 Esc 会中止 AutoLISP 程序并出现键盘中断(除非allkeys参数不允许这样做)。任何其他输入都直接传递到,使应用程序能够完全控制输入设备。grreadgrread
如果用户在屏幕菜单或下拉菜单框中按下指针按钮,则返回类型 6 或键入 11 代码,但在后续调用中,它不会返回类型 12 代码:仅当在绘图区域中按下指针按钮时,类型 12 代码才会跟随类型 6 或类型 11。grread
在尝试使用指针按钮或辅助按钮执行其他操作之前,从缓冲区中清除代码 12 数据非常重要。为此,请执行如下所示的嵌套:grread
(setq code_12 (grread (setq code (grread))))
此序列将代码 12 列表的值捕获为来自设备的流式处理输入。
|