- 积分
- 214
- 明经币
- 个
- 注册时间
- 2002-11-14
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2002-11-19 13:31:00
|
显示全部楼层
请看修改后的代码
//你的主对话框guanjian可简化如下:
guanjian : dialog {
label = "管件类:--标高";
guanjian_radio;
ok_cancel;
}
(defun C:guanjian( / dcl_id )
(setq dcl_id (load_dialog "guanjian.dcl")) ; Load the DCL file.
(if (not (new_dialog "guanjian" dcl_id)) ; Initialize the dialog.
(exit) ; Exit if this doesn't
)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;****************************************
;;以下是否是设置当radio_button选中时的响应
;;****************************************
(action_tile "yiban" "(setq sle \"(OG12 3)\")")
(action_tile "guanxin" "(setq sle \"(OG12 4)\")")
(action_tile "guandi" "(setq sle \"(OG12 5)\")")
(action_tile "guanding" "(setq sle \"(OG12 5)\")" )
;;************************************
;;以下是修改的内容:
;;************************************
;对话框响应设置action_tile , 应在(start_dialog)的前面
(action_tile "accept" "(done_dialog 1)") ;选中时将退出对话框,返回1
;<done_dialog 1>一般应为一个自定义函数(其中包含done_dialog 1),以提取
;当前对话框中的控件值,并执行其它你需要的操作.
;提取控件值应在(done_dialog 1)前, 因为对(done_dialog 1)求值后将关闭
;对话框,不能再用(get_tile)函数提取控件值.
(action_tile "cancel" "(done_dialog 0)") ;选中时将退出对话框,返回0
(setq wd_ret (start_dialog)) ; Display the dialog
;用wd_ret变量的值(数值型)来确定你要做什么作,该值即done_dialog后的
数值
(if (= wd_ret 1)
(你的处理函数)
)
(unload_dialog dcl_id) ; Unload the DCL file.
(princ)
) |
|