我能让“暂停”做出回应吗
首先是这个问题的背景:在lisp函数中,我希望在循环中插入块,其中用户仅左键单击给定的插入点,循环应在鼠标右键单击或回车时结束。
实际插入如下所示:
... 一些stuf
(B继续时
(命令“插入”BN pause 1 1 0)
(setq B以某种方式继续)
)
... 还有一些东西
也许同样的事情可以通过不同的方法来实现,但我喜欢“插入”的视觉效果,在插入之前,块附着在十字准线上。
我还知道ESC键(或Cancel)将在暂停时中止lsp代码。
但为了保持应用程序的一致性,我更喜欢按ENTER键或鼠标右键。
问题是,是否有某种方法可以让“暂停”在回车时做出反应,从而中止“插入”并继续使用下面的lisp代码。
也欢迎其他方法。
希望有人能帮忙。
BR
卡斯滕 用户使用Enter或右键单击退出的唯一方法是使用getpoint功能:
然而,这当然会放弃使用INSERT命令时收到的预览。
出现此问题的原因是,当从AutoLISP程序调用INSERT命令时,INSERT命令会从程序中获取焦点,在INSERT命令完成之前,您无法从AutoLISP程序中与用户输入的命令交互。
然而,为了在用户按下Esc后继续进行程序评估,我建议使用以下方法:
这避免了在程序中合并错误处理程序(重新定义的*错误*函数)的需要。 您应该能够将右键单击定义为^C^C(取消/转义)。这是多年来右键单击的默认值。我仍然试图用它定义我的按钮菜单。
2
我猜今天你会用崔(不是我的那杯茶)
-大卫 谢谢你的回复,大卫。
我自己也没有进入崔的世界。
可以将鼠标右键单击和回车键的重新定义限制为仅适用于特定的lisp函数吗(如果可以,我可以得到如何实现这一点的提示),还是更通用?
BR
卡斯滕
好问题!也许有人知道一种方法-大卫
页:
[1]