楼上老兄,你好:
(car (grread nil 2 1))
不管鼠标左键按下之后有没有放开,(car (grread nil 2 1))返回值都是3
请明示
语法
(grread [track] [allkeys [curtype]])
功能及参数
此函数可以让您直接读取 AutoCAD 的输入设备, 只要它们一移动, 您就可以追踪得到它们的位置。只有在很特殊的情况下才需要使用这个函数, 通常AutoLISP 都是使用像 getstring、getreal 等这样的 getxxx 函数来作输入的工作的。追踪的参数如果不为 nil, 则只要输入设备移动, 就可以返回此点的坐标值, 您并不需要按输入设备上的选取按键, 这就是 AutoCAD 拖放 (Dragging) 的原理。
如果 track 参数有给予且非 nil, 那么它将赋予由指向设备的移动上 (但按键尚未按下)返回坐标值。allkeys 参数是一可选择的整型数值 (一个位标志项)。如果 allkeys 参数存在, grread 将视码来执行不同的功能。curtype 参数将能用来控制鼠标形式的显示。
以下将为您详细解说其后参数的意义:
track:如果不为 nil, 则追踪鼠标位置。
Allkeys:如果提供, 那么allkeys参数必须为整型数, 且其值将被定义如下:
值=1 (位0) 将返回拖放模式坐标。如果此位被设定, 同时用户移动指向设备, 则grread 将返回一个第一个数字是 type 5 以及第二个数字是目前指向设备的鼠标所在坐标 (X, Y)。
值=2 (位1) 将返回所有键值。包含函数与鼠标键码, 及当用户按下鼠标键而非鼠标时。
值=4 (位2) 使用一值来传至 curtype 参数中以控制鼠标显示。
值