找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 980|回复: 5

[求助] opendcl中的optionbutton使用问题

[复制链接]
发表于 2019-5-4 19:24:52 | 显示全部楼层 |阅读模式

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

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

×
怎么判断哪个按钮被选择了呢?我想要optionbutton1选择的时,点击textbutton1执行一段代码,optionbutton2选择时点击textbutton1执行另一段代码呢?


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

已领礼包: 40个

财富等级: 招财进宝

发表于 2019-5-4 20:25:11 | 显示全部楼层
本帖最后由 newer 于 2019-5-4 20:32 编辑

你是怎么定义的options按钮的?
onclick事件,点击options按钮,用getvalue获得状态,你设置标记

如果你定义选项列表,就更容易了,用dcl-Control-GetCurrentSelection
搜狗截图20190504202751.png



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

使用道具 举报

已领礼包: 4个

财富等级: 恭喜发财

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

使用道具 举报

已领礼包: 511个

财富等级: 财运亨通

发表于 2019-5-5 07:47:11 | 显示全部楼层
看看这样能否满足你的要求:
(defun c:css()
  (setq dclstr
        "mybutton:dialog
        {        label=\"二选一程序\";
                :radio_column
                {:radio_button        {label=\"optionbutton1\";key=\"n1\";value=1;}
                 :spacer        {height=1;}
                 :radio_button        {label=\"optionbutton2\";key=\"n2\";value=0;}
                 :spacer        {height=1;}
                 :button        {label=\"TextButton1\";key=\"n3\";}
                 :spacer        {height=1;}
                 }
        ok_cancel;
        }")
  (setq dclname (cond ((setq tempname (vl-filename-mktemp "gps-dcl-tmp.dcl") filen (open tempname "w"))(princ dclstr filen)(close filen)tempname)))
  (setq dcl_id (load_dialog dclname))
  (if (not (new_dialog "mybutton" dcl_id)) (progn (alert "dcl加载失败!")(exit)))
  (action_tile "n3" "(myva)(done_dialog)")
  (action_tile "accept" "(done_dialog)")
  (action_tile "cancel" "(done_dialog)")
  (start_dialog)
  (unload_dialog dcl_id)(princ)
  )

(defun myva()
          (if (= (get_tile "n1") "1")(prompt "\nprogram1")(prompt "\nprogram2")))


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

使用道具 举报

 楼主| 发表于 2019-5-7 15:54:38 | 显示全部楼层
newer 发表于 2019-5-4 20:25
你是怎么定义的options按钮的?
onclick事件,点击options按钮,用getvalue获得状态,你设置标记

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

使用道具 举报

 楼主| 发表于 2019-5-7 15:56:37 | 显示全部楼层
pxr201419 发表于 2019-5-5 07:47
看看这样能否满足你的要求:
(defun c:css()
  (setq dclstr

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 12:46 , Processed in 0.409587 second(s), 41 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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