ARGV 发表于 2022-7-6 13:50:05

使用、隐藏、使用DCL例程

我有一个使用对话框的程序,但按下按钮后,我希望对话框消失,用户选择一个块,然后对话框返回。
 
非常感谢。
 
argV

flowerrobot 发表于 2022-7-6 13:56:27

兄弟,你没有给我们任何工作机会。
 
要制作一个拨号箱,请先拆一段时间,然后再重新安装。
使用希望dcl关闭的(done_对话框),我还建议存储之前输入的设置,
 
然后我个人使用while命令,以便在不按accept或cancel(在大多数情况下)时,执行需要的操作,然后重新启动程序。
例如
 
按下此按钮将关闭按钮,并设置ok和打开的模式
(action_tile "punkin" "(setq ok 3 typemode \"REDUCER\")(done_dialog)")
您可以放置命令,然后在cond后调用当前dcl。
(while (not (= ok 0)(= ok 1))
(cond
   ((= typemode "TEE")
    (Tee_Controlls))
   ((= typemode "REDUCER_TEE")
    (Reducer_Tee_Controlls))
   ((= typemode "ELBOW")
    (Elbow_Controlls))
   ((= typemode "reducer")
(princ "\nSelect the block")
    (setq avar (entsel))
)
(previousedcl_box)
)

Lee Mac 发表于 2022-7-6 13:59:34

可以为done_对话框功能分配一个退出标志,该标志可以是任何整数(除0和1外,这些是为接受和取消磁贴保留的)。
 
可以从start\u对话框功能中检索此标志:
 

(setq flag (start_dialog))

 
请参阅此处了解更多信息:
 
http://www.afralisp.net/lispa/lisp43b.htm

Lee Mac 发表于 2022-7-6 14:00:42

 
我认为我们可以提供足够的帮助和建议

The Buzzard 发表于 2022-7-6 14:05:58

 
这是一个示例程序,与您所说的内容大致相同。该程序在程序中插入一个内置块。插入后,对话框再次出现。同样的原则。您可以查看这一点,以了解如何使对话框循环。
SL.zip

flowerrobot 发表于 2022-7-6 14:08:34

 
因此,我提出了2个参数,但对他来说,发布一些他是faminlar的东西更容易,我们提供了一种可能的方法,而不是向他展示不相似的代码,尝试理解它,然后应用相同的原则至少我知道

ARGV 发表于 2022-7-6 14:11:09

 
你知道这很有趣,因为我是从这个链接到这里的,因为我只是无法理解它的工作方式。
 
我试图修改我的代码,使之与那里的代码相似,但它不起作用,所以我想我应该在这里问一下。
 
好吧,我会继续努力,看看“秃鹰”代码。有时简单的概念对我来说是最困难的!
 
谢谢
 
ArgV

ARGV 发表于 2022-7-6 14:14:49

 
 
这是一些优雅的代码!然而,对于我正在寻找的有点长。我只是想知道:
 
我如何在按下按钮(action_tile)时使对话框消失。
在选择一个块后,我该如何使互动程序再次出现?
 
我试过一些东西,但我无法摆脱它。是unload\u对话框应该这样做吗?如果是这样,它不起作用,或者我可能在某处出错。
 
谢谢
 
ArgV

flowerrobot 发表于 2022-7-6 14:17:37

嗯基本上
 
你不能隐藏dcl盒,
“隐藏”是指关闭窗口,再打开一些东西,然后放回数据。
 
所以基本上你关闭它,就像接受或取消按钮一样。
插上一面旗帜,让你知道它还没有关上,
做你需要的事。
再次打开它。
 
所以你想
1、打开诊断
2、点击按钮
3、关闭拨号
4、选择块
然后返回到1。

ARGV 发表于 2022-7-6 14:21:26

 
 
实际上,我宁愿有一个解释,比如“好吧,为了让对话框消失,你必须_________________________________________________________________________________________哦,它应该在一个循环中。。。
 
.. 或者别的什么。。
 
谢谢
 
-ArgV
页: [1] 2
查看完整版本: 使用、隐藏、使用DCL例程