请教这个反应器如何实现?
我想实现如下功能:
首先让反应器判断双击事件,如果发生了,则进一步测试被双击的对象是否是圆,如果是圆,则弹出对话框以修改圆的半径,如果不是则不弹出对话框。
对于双击事件弹出对话框,这个很容易实现,问题是要在弹出对话框之前做个判断,如果是圆,才弹出,否则不响应。这里主要是不知道如何获得被双击的对象,如果能获得的话,那就可以通过对象的属性判断是否是圆了。
没人来解答吗?
;;;定义鼠标双击反应器
(or *dblclkCircleReactor*
(setq *dblclkCircleReactor*(VLR-Mouse-Reactor nil'((:VLR-beginDoubleClick . dblclkedit))))
)
;;;回调函数
(defun dblclkedit (reactorObject point / owner)
(if (setq owner (nentselp (setq p (trans (car point) 0 1))));;指定点来选择对象
(if (= "CIRCLE" (cdr (assoc 0 (entget (car owner)))))
(alert "双击选择了园!")
)
)
)
页:
[1]