找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 384|回复: 0

[转贴]:大家瞧一下!!

[复制链接]
发表于 2004-11-2 16:53:25 | 显示全部楼层 |阅读模式

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

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

×
Re:DCL对话框设计
林老师:您好!
请教一个DCL对话框设计方面的问题:在一个对话框中,从上至下排有两个

POPUP_LIST列表框."列表框一"用于选择不同的零件名称,"列表框二"用于选择每

种零件的具体型号,因不同的零件具有不同的型号代码.所以希望"列表框二"中的

内容能跟着"列表框一"中所选择的不同零件名称实时发生变化.

1.DCL代码:

test : dialog{
label = "测试";
:popup_list{
label = "不同的类型: ";
fixed_width = true;
key = "test1";
edit_width = 10;
}
:popup_list{
label = "不同的标准: ";
fixed_width = true;
key = "test2";
edit_width = 10;
}
ok_button;
}

Lisp代码:

(defun get_n()
(setq n(atoi (GET_TILE "test1")))
)
(defun add_test21()
(START_LIST "test2" 3)
(ADD_LIST "标准1")
(ADD_LIST "标准2")
(END_LIST)
)
(defun add_test22()
(START_LIST "test2" 3)
(ADD_LIST "标准3")
(ADD_LIST "标准4")
(END_LIST)
)
(defun add_test23()
(START_LIST "test2" 3)
(ADD_LIST "标准5")
(ADD_LIST "标准6")
(END_LIST)
)
(setq dcl_id (LOAD_DIALOG

"D:\\Computer\\AutoCAD\\Vlisp\\DCL\\test.dcl"))
(if (not (new_dialog "test" dcl_id)) (exit))
(START_LIST "test1" 3)
(ADD_LIST "类型1")
(ADD_LIST "类型2")
(ADD_LIST "类型3")
(END_LIST)
(START_LIST "test2" 3)
(ADD_LIST "标准1")
(ADD_LIST "标准2")
(END_LIST)
(ACTION_TILE "test1" (STRCAT "(get_n)"
"(if(= n 0)(add_test21))"
"(if(= n 1)(add_test22))"
"(if(= n 2)(add_test23))"))
(action_tile "accept" "(done_dialog 1)")
(setq done (start_dialog))
(unload_dialog dcl_id)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-9 23:32 , Processed in 0.369303 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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