AutoLISP对话框DCL关于LIST_BOX应用示例
2011-04-25 16:59 精诚所至 金石为开 阅读(2731) 评论(0) 编辑 收藏 举报AutoLISP对话框DCL关于LIST_BOX应用示例,DCL对话框代码如下。
dia7a:dialog {
label = "列表框示例" ;
:list_box {
height = 10 ;
key = "klist" ;
label = "词库选单" ;
width = 30 ;
}
:edit_box {
key = "wordstr" ;
label = "词库" ;
}
spacer_1;
ok_cancel;
}
LSP文件代码如下。
(defun c:dia7a ()
(setvar "cmdecho" 0)
(setq word_list '("亚洲"
"中国"
"北京"
"天津"
"上海"
"广州"
"重庆"
"四川"
"河南"
"郑州"
"开封"
"武汉"
"河北"
"江西"
"甘肃"
)
)
(dcl_dia7a)
(prin1)
)
(defun dcl_dia7a ()
(setq dcl_id (load_dialog "dia7a"))
(new_dialog "dia7a" dcl_id)
(start_list "klist")
(mapcar 'add_list word_list)
(end_list)
(action_tile "klist" "(sub_klist $value)")
(action_tile "accept" "(ok_dia7a) (done_dialog 1)")
(setq dd (start_dialog))
(if (= dd 1)
(progn
(setvar "cmdecho" 1)
(command "text" pause 0 wordstr)
(setvar "cmdecho" 0)
)
)
)
(defun sub_klist (vvs)
(set_tile "wordstr" (nth (atoi vvs) word_list))
)
(defun ok_dia7a ()
(setq wordstr (get_tile "wordstr"))
)
代码完。