明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
123
返回列表 发新帖
楼主: 77077

[已解答] 飞诗请进,求关于list_box单击打开收拢的效果代码~

[复制链接]
 楼主| 发表于 2014-6-26 17:49:35 | 显示全部楼层
写完成了,可是问题也出来了~急救~~~~
  1. ;;;=================================================================*
  2. ;key1动作反应
  3. (defun key1()
  4. (setq n (atoi (get_tile "key1"));取得当前选中项的索引值n
  5.       str (nth n boxlst);从列表框中取出第n个表项:"++D分类四"
  6.      str1 (substr str 1 2);分割出前两位
  7.      str2 (substr str 3);分割出后面诸位
  8.       )
  9. (cond
  10.    ((= str1 "++") (pro1)(pro3 1));加载对应的中类,并加载数据到textbox
  11.    ((= str1 "--") (pro1-));删除对应的中类,并加载数据到textbox
  12.    ((= str1 " +") (pro2)(pro3 2));加载对应的小类,并加载数据到textbox
  13.    ((= str1 " -") (pro2-));删除对应的小类,并加载数据到textbox
  14.    ((= str1 "  ") (pro3 3));加载数据到textbox
  15. )
  16. )

  17. ;加载对应的中类
  18. (defun pro1 ( / lstn)
  19. (setq lstn (vl-remove-if '(lambda (x) (/= (strlen (car x)) 2)) lst)
  20.        lstn (vl-remove-if '(lambda (x) (/= (substr (car x) 1 1) (substr str2 1 1))) lstn)
  21.        lstn (mapcar '(lambda(x) (strcat " +" (car x) (cadr x))) lstn);组成准备插入列表框的表lstn
  22.        )
  23. (setq boxlst (LI-DelLst boxlst n)
  24.       boxlst (LI-append-lstn boxlst n lstn)
  25.       boxlst (LI-append-lstn boxlst n (list (strcat "--" str2)))
  26.       )
  27. (fill-list-box "key1" boxlst)
  28. (set_tile "key1" (itoa n))
  29. )
  30. ;删除中类
  31. (defun pro1- ( / lstn)
  32. (setq lstn (vl-remove-if '(lambda (x) (/= (strlen (car x)) 2)) lst)
  33.        lstn (vl-remove-if '(lambda (x) (/= (substr (car x) 1 1) (substr str2 1 1))) lstn)
  34.        )
  35. (repeat (1+ (length lstn))
  36.            (setq boxlst (LI-DelLst boxlst n))
  37.         )
  38. (setq boxlst (LI-append-lstn boxlst n (list (strcat "++" str2))))
  39. (fill-list-box "key1" boxlst)
  40. (set_tile "key1" (itoa n))
  41. )
  42. ;加载对应的小类================
  43. (defun pro2 ( / lstn)
  44. (setq lstn (vl-remove-if '(lambda (x) (/= (strlen (car x)) 3)) lst)
  45.        lstn (vl-remove-if '(lambda (x) (/= (substr (car x) 1 2) (substr str2 1 2))) lstn)
  46.        lstn (mapcar '(lambda(x) (strcat "  " (car x) (cadr x))) lstn);组成准备插入列表框的表lstn
  47.        )
  48. (setq boxlst (LI-DelLst boxlst n)
  49.       boxlst (LI-append-lstn boxlst n lstn)
  50.       boxlst (LI-append-lstn boxlst n (list (strcat " -" str2)))
  51.       )
  52. (fill-list-box "key1" boxlst)
  53. (set_tile "key1" (itoa n))
  54. )
  55. ;删除小类
  56. (defun pro2- ( / lstn)
  57. (setq lstn (vl-remove-if '(lambda (x) (/= (strlen (car x)) 3)) lst)
  58.        lstn (vl-remove-if '(lambda (x) (/= (substr (car x) 1 2) (substr str2 1 2))) lstn)
  59.        )
  60. (repeat (1+ (length lstn))
  61.            (setq boxlst (LI-DelLst boxlst n))
  62.         )
  63. (setq boxlst (LI-append-lstn boxlst n (list (strcat " +" str2))))
  64. (fill-list-box "key1" boxlst)
  65. (set_tile "key1" (itoa n))
  66. )
  67. ;读lst取数值填入文本框
  68. (defun pro3 (n / lstx)
  69. (setq lstx (vl-remove-if '(lambda (x) (/= (car x) (substr str2 1 n))) lst))
  70. (set_tile "key2" (nth 0 (car lstx)))
  71. (set_tile "key3" (nth 1 (car lstx)))
  72. )

发表于 2014-6-28 17:50:26 来自手机 | 显示全部楼层
最后效果怎么样?
 楼主| 发表于 2014-6-29 11:04:53 | 显示全部楼层
基本上所有代码都已经贴出来了,整理下就是完整的源码了!
发表于 2014-7-1 12:53:10 来自手机 | 显示全部楼层
有没有说明书?
 楼主| 发表于 2014-7-1 13:04:10 | 显示全部楼层
什么说明书?
每个lst项里面包含很多元素("性质代码" "用地性质" "容积率" "建筑密度" "绿地率" "建筑限高" "机动车位比" "自行车位比" "内容说明" "图层名" "图层颜色")
做完以后的界面是

本帖子中包含更多资源

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

x
 楼主| 发表于 2014-7-1 13:07:32 | 显示全部楼层
最终得到信息表.可以写入图块和文本文件都行~
(("地块编号" "JK-XX-AA-01") ("性质代码" "R11") ("用地性质" "住宅") ("地块面积" "5112.05") ("容积率" "1.1") ("建筑密度" "32") ("绿地率" "35") ("建筑限高" "12")
("地上建筑" "5623.26") ("地下深度" "0") ("地下建筑" "5112.05") ("绿地面积" "1789.22") ("兼容用地" "C") ("兼容比例" "30/70") ("居住人口" "161") ("人口参数" "35")
("机动车位" "84") ("机动车位参数" "1.5") ("自行车位" "17") ("自行车位参数" "0.3") ("配套公建" "公厕-1-80/超市-1-500m2") ("备注信息" "备注"))
发表于 2014-7-5 12:10:56 | 显示全部楼层
把对话框文件也传上来,让我们也学习一下
发表于 2015-4-25 17:46:05 | 显示全部楼层
看来楼主是搞规划设计的!
发表于 2015-4-25 19:10:21 | 显示全部楼层
这个是真正的技术讨论贴
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-22 04:10 , Processed in 0.122192 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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