DCL对话框鼠标双击添加、删除
在DCL对话框中经常用到双击列表框中的对象添加到另外的列表框中,和双击列表框中的内容删除之!希望高手帮忙改改使得更通用、方便!;;使用样例(action_tile "List1" "(tt22 $value)")
;;keys1keys2 "List2" 这几个根据使用的实际对话框来改变
(defun tt22(vvs)
(cond((= $reason 4)
(setq keys2(sjtjdzdlbk keys1 keys2 "List2"))
)
((= $reason 1)())
);;cond
)
;;功能双击下拉列表1中的内容添加到指定下拉列表中
;;lst下拉列表1中的列表内容 如 (setq lst '("线宽种类" "倒角种类" "填充种类"))
;;lst1指定下拉列表内容
;;key指定下拉列表的key值
(defun sjtjdzdlbk(lst lst1 key / sjtjdzdlbk-1);;(sjtjdzdlbk 双击添加到指定列表框)
(setq sjtjdzdlbk-1(nth(atoi vvs)lst))
(setq lst1(cons sjtjdzdlbk-1 lst1))
(start_list key)
(mapcar 'add_list lst1)
(end_list)
lst1
);;使用样例(action_tile "List1" "(tt22 $value)")
;;keys1keys2 "List2" 这几个根据使用的实际对话框来改变
(defun tt22(vvs)
(cond((= $reason 4)
(setq keys2(sjtjdzdlbk keys1 keys2 "List2"))
)
((= $reason 1)())
);;cond
)
;;功能双击下拉列表1中的内容添加到指定下拉列表中
;;lst下拉列表1中的列表内容 如 (setq lst '("线宽种类" "倒角种类" "填充种类"))
;;lst1指定下拉列表内容
;;key指定下拉列表的key值
(defun sjtjdzdlbk(lst lst1 key / sjtjdzdlbk-1);;(sjtjdzdlbk 双击添加到指定列表框)
(setq sjtjdzdlbk-1(nth(atoi vvs)lst))
(setq lst1(cons sjtjdzdlbk-1 lst1))
(start_list key)
(mapcar 'add_list lst1)
(end_list)
lst1
)
;;使用样例(action_tile "List1" "(list_sjsc $value)")
(defun list_sjsc(vvs);;(list_sjsc 下拉列表双击删除)
(cond((= $reason 4)
(setq keys1(sjsc_list "List1" keys1));;不要这句把下面progn这段撤销注释同样效果
;;; (progn ;;用这段的话就可以不要sjsc_list这个子程序
;;; (setq list_sjsc-1 (atoi(get_tile "List1")))
;;; (setq list_sjsc-2(MJ:removeNth list_sjsc-1 keys1))
;;; (setq keys1 list_sjsc-2)
;;; (dcl_lbfz "List1" keys1)
;;; )
)
(= $reason 1())
);;cond
);;defun
;;131.2 [功能] 从列表中删除指定的第n个元素
;;index 要删除的第几个元素
;;lst 列表
(defun MJ:removeNth (index lst / c)
(setq c -1)
(apply 'append
(mapcar '(lambda (x)
(if(/= (setq c (1+ c)) index)
(list x)
)
)
lst
)
)
)
;;函数说明
;;key控件的key值(字符串)
;;lst列表
(defun dcl_lbfz(key lst)
(start_list key);直列表 {"List4"} 初始化
(mapcar 'add_list lst);添加列表项
(end_list)
)
;;函数功能双击删除下拉列表中的元素
;;函数说明
;;调用方式 (setq lst(sjsc_list key lst))
;;例子 (setq keys1(sjsc_list "List1" keys1))
;;key 控件的key值
;;lst 赋予下拉列表控件的表
;;lst 值 样例 (setq lst '("1" "2" "3" "4" "5" "9" "6" "8" "7"))
(defun sjsc_list(key lst / list_sjsc-1)
(setq list_sjsc-1(atoi(get_tile key)))
(setq lst(MJ:removeNth list_sjsc-1 lst))
(start_list key)
(mapcar 'add_list lst)
(end_list)
lst
;;;(dcl_lbfz key lst)
) 找这个找了很久 试一下效果怎么样 非常感谢分享
虽然不明白,努力学习中。。。,楼主辛苦,支持原创 学习中,双击的确有用 虽然不明白,努力学习中。。。,楼主辛苦,支持原创 不错~ 收藏备用~ 太有用了,顶起来, 比较厉害 正在学习感谢分享,收藏了. 右边对话框可以点着拖拽来调整上下位置就更美妙了 ymcui 发表于 2014-12-2 20:36 static/image/common/back.gif
右边对话框可以点着拖拽来调整上下位置就更美妙了
你可以自己弄在指定位置加入!拖动倒是真不会! 太有用了,顶起来 ........................
页:
[1]
2