- UID
- 19816
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-12-11
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
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) |
|