masterlong 发表于 2013-12-27 13:15:41

【请教】控件的每次动作,都会强制回车

控件的每次动作
都会强制回车
导致命令行原有的提示
不断的上移
有办法让ODCL不这样吗

masterlong 发表于 2013-12-27 17:53:03

再问两个问题

1.
绘图区的任意一点
如何换算成DCL时的坐标


2.
点取odcl中的文字控件后
希望先关闭对话框
然后选择一个图元
但奇怪的是
CAD会报错“无法重复进入LISP”
但是还是会执行选图元的代码

下面是程序中的相关代码
(defun c:DLGGXZ_FORM1_规格_ONCLICKED (/)
(dcl_Form_Close DLGGXZ_Form1);;关闭对话框
(setq a (entsel));;选择图元,此时会有错误提示,但仍可以继续执行后续代码
.....
)
应该怎么处理来回避这个问题?

masterlong 发表于 2013-12-27 20:58:51

上面第2个问题
采用dcl_Form_Hide可以避免


现在更改了程序流程
设定鼠标离开对话框后
执行选图元代码
新问题来了


如果鼠标移进对话框
又没有点击控件
那么鼠标指针移出来以后
选图元代码没有问题

可如果点击了控件
鼠标指针移出去以后
虽然还是可选图元
但是选择图元的拾取小窗口
会“定”在对话框的旁边或某个位置
不随鼠标移动

另外如果不选图元再次移入对话框内
再移出时又报“不能重复进入lisp”错误

唉,odcl确实强大
要用好也真心不容易
求高手指点

masterlong 发表于 2013-12-27 21:09:36

知道为啥鼠标会定住了
窗体的“保持焦点”选项取消打钩就OK了

那现在就是"无法重复进入lisp"错误这个问题了

masterlong 发表于 2013-12-27 21:28:10

把*error*函数重定义
再在鼠标移入对话框事件前加上^C^C
勉强可以接受

不知还有更好的办法没有

masterlong 发表于 2013-12-27 21:30:53

控件事件加上^C^C
是无提示运行
上面说的方式会有两个“*取消*”
怎么看都不是那么爽啊

masterlong 发表于 2013-12-27 21:37:28

不管怎么样
我的第一个无模式对话框
调试接近成功

移出对话框可自动执行程序
这个功能太棒了
ohyeah
收工回家休息

artken 发表于 2014-11-20 01:39:48

能说说说以下这个具体如何操作吗?

把*error*函数重定义
再在鼠标移入对话框事件前加上^C^C

页: [1]
查看完整版本: 【请教】控件的每次动作,都会强制回车