找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1520|回复: 12

[求助] 请教对话框的问题

[复制链接]
发表于 2015-6-5 14:09:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
做了个程序,需要中间点选button,运行子程序进cad选择对象,子程序运行完成后再次进入该对话框,直到按确定或者取消退出对话框。我现在在点button后不知道如何写 (action_tile "kobb1" "(done_dialog 2)"),这句该怎么写?done_dialog对话框的话,该如何在打开?不done又如何获得控制权?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 604个

财富等级: 财运亨通

发表于 2015-6-5 15:53:59 | 显示全部楼层
执行(action_tile "kobb1" "(done_dialog 2)")时,2传给了 (setq return# (start_dialog))这句的return#

点评

再需要返回时该怎么写?用new_dialog?好像不太对  详情 回复 发表于 2015-6-5 16:08
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-5 16:08:27 | 显示全部楼层
/db_自贡黄明儒_ 发表于 2015-6-5 15:53
执行(action_tile "kobb1" "(done_dialog 2)")时,2传给了 (setq return# (start_dialog))这句的return#

再需要返回时该怎么写?用new_dialog?好像不太对
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 10398个

财富等级: 富甲天下

发表于 2015-6-5 19:58:24 | 显示全部楼层
本帖最后由 zxq0220 于 2015-6-5 19:59 编辑
  1. (while (> re 1)
  2. (new_dialog "dialogname" dcl_id)
  3. ;...set_tile
  4. (action_tile "kobb1" "(done_dialog 2)")
  5. (action_tile "accept" "(done_dislog 1)")
  6. (action_tile "cancel" "(done_dialog 0)")
  7. (setq re (start_dialog))
  8. (if (= re 2) (progn
  9. (setq s1 (entsel  "\n选择对象: "))
  10. ))
  11. )
  12. (unload_dialog dcl_id)
  13. (if (= re 1) (progn
  14. ;...
  15. ))

点评

按这个程序确实能返回对话框,不过我的对话框中set_tile会赋值给edit_box,如果先改默认edit_box值,再while返回时会重新赋默认值,之前改过的就白改了。这个怎么破?  详情 回复 发表于 2015-6-5 22:32
我实际做的和这个差不多,只是用的是cond,后面执行的是一个子函数,我希望执行完该子函数后,返回对话框,直到按下“确定”,可是cond或者if执行完成后并不能返回对话框函数。  详情 回复 发表于 2015-6-5 22:09
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-5 22:09:19 | 显示全部楼层
本帖最后由 benq3 于 2015-6-5 22:11 编辑

我实际做的和这个差不多,只是用的是cond,后面执行的是一个子函数,我希望执行完该子函数后,返回对话框,直到按下“确定”,可是cond或者if执行完成后并不能返回对话框函数。我的没有while,我加上试试,谢谢。

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-5 22:32:03 | 显示全部楼层

按这个程序确实能返回对话框,不过我的对话框中set_tile会赋值给edit_box,如果先改默认edit_box值,再while返回时会重新赋默认值,之前改过的就白改了。这个怎么破?

点评

用变量存放相应最新的值。  详情 回复 发表于 2015-6-6 09:56
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 10398个

财富等级: 富甲天下

发表于 2015-6-6 09:56:17 | 显示全部楼层
benq3 发表于 2015-6-5 22:32
按这个程序确实能返回对话框,不过我的对话框中set_tile会赋值给edit_box,如果先改默认edit_box值,再wh ...

用变量存放相应最新的值。

点评

我在关闭对话框之前提取值,存起来,再次循环时再赋值,成功解决。谢谢 我想再问一下mode_tile一般怎么用?能不能给举个简单的用法例子?我的目的是当一个toggle被选中时,下面的几个edit_box都变灰,不能输入可是  详情 回复 发表于 2015-6-6 10:41
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-6 10:41:57 | 显示全部楼层
zxq0220 发表于 2015-6-6 09:56
用变量存放相应最新的值。

我在关闭对话框之前提取值,存起来,再次循环时再赋值,成功解决。谢谢
我想再问一下mode_tile一般怎么用?能不能给举个简单的用法例子?我的目的是当一个toggle被选中时,下面的几个edit_box都变灰,不能输入可是看了几本书都没有怎么用,不太明白特问一下,是不是这样 (action_tile "toggle_key" "(mode_tile \"edit_box_key1\" \"edit_box_key2\" \"edit_box_key3\" 1)"
还没有试,不知道对不对。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 10398个

财富等级: 富甲天下

发表于 2015-6-6 12:57:41 | 显示全部楼层
(action_tile "toggle_key" "(mode_tile \"key1\" 1)(mode_tile \"key2" 1)(mode_tile \"key3\" 1)")

点评

我用了上面的语句,默认所有对象打开,勾选toggle后,变灰,可是在取消勾选,却不能变正常,这个设置还有别的技巧吗? 我又增加了(action_tile "toggle_key" "(mode_tile \"key1\" 0)(mode_tile \"key2" 0)(mode_til  详情 回复 发表于 2015-6-6 17:26
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-6 17:26:38 | 显示全部楼层
zxq0220 发表于 2015-6-6 12:57
(action_tile "toggle_key" "(mode_tile \"key1\" 1)(mode_tile \"key2" 1)(mode_tile \"key3\" 1)")

我用了上面的语句,默认所有对象打开,勾选toggle后,变灰,可是在取消勾选,却不能变正常,这个设置还有别的技巧吗?
我又增加了(action_tile "toggle_key" "(mode_tile \"key1\" 0)(mode_tile \"key2" 0)(mode_tile \"key3\" 0)"),默认打开,勾选后没反应。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 10398个

财富等级: 富甲天下

发表于 2015-6-6 20:40:17 | 显示全部楼层
(action_tile "toggle_key" "(tomode)")
...
(defun tomode ()
(if (= (get_tile "toggle_key") "1") (progn
(mode_tile "key1" 1)
(mode_tile "key2" 1)
(mode_tile "key3" 1)
) (progn
(mode_tile "key1" 0)
(mode_tile "key2" 0)
(mode_tile "key3" 0)
))
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-6-6 20:50:14 | 显示全部楼层
太感谢zxq0220。原来还得这么复杂的语句呀。我再试试
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2015-6-7 14:28:17 | 显示全部楼层
benq3 发表于 2015-6-6 20:50
太感谢zxq0220。原来还得这么复杂的语句呀。我再试试

简化一下,看起来就没那么长了
(defun dcl-disablectrls        (keylist value)
  (foreach key keylist (mode_tile key value))
)
(if (= (get_tile "toggle_key") "1")
  (dcl-disablectrls (list "key1" "key2" "key3") 1)
  (dcl-disablectrls (list "key1" "key2" "key3") 0)
)

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-15 11:25 , Processed in 0.216003 second(s), 64 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表