找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 770|回复: 1

[练习]DCL列示选单的延伸开启设定

[复制链接]
发表于 2007-8-25 20:35:32 | 显示全部楼层 |阅读模式

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

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

×
[练习]DCL列示选单的延伸开启设定

参考了 FSXM 所做的 "listdcl的编缉器" ,
想像这编辑器一样有可以弹出设定的功能,
就练习做了一下,
不知道这样做的正不正确,
请各位高手大侠批评指教.

另外关于 无痕 或 FSXM 两位高手,
所编写出来的 LSP编码转 DCL 文件,
这原理及所暂时产生出来的对话框文件,
为何找不到呢?
还是说可以隐藏起来.
不知道有人去研究吗?

相关引用网址:
http://www.mjtd.com/bbs/dispbbs. ... p;skin=0&Star=1
http://www.mjtd.com/bbs/dispbbs. ... p;skin=0&Star=1



  1. (Defun MKLA (a b)
  2. (If (= (Tblsearch "layer" a) nil)
  3. (Command "layer" "m" a "c" b a "")
  4. (Command "layer" "t" a "s" a "c" b a "u" a "on" a "")
  5. )
  6. )

  7. (DEFUN C:TEST
  8.        ( / *MYLISTDATA@ BOX1$ BOX2$ BOX3$ DCL_STR FDT_LIST STR_A STR_B STR_DATA)

  9. (DEFUN SUB_LSTDT_TO_LSTBOX ( *MYLISTDATA@ / )
  10. (SETQ FDT_LIST (LIST
  11.   (STRCAT "图层名称: =>" (NTH 0 *MYLISTDATA@))
  12.   (STRCAT "颜色号码: =>" (NTH 1 *MYLISTDATA@))
  13.   ) ;_ 结束LIST
  14. )
  15. FDT_LIST
  16. )

  17. (DEFUN SUB_SETRANNGE (vvs / )
  18. (PRINT "$value 函数值:") (PRINC (atoi vvs))
  19. (PRINT (TYPE vvs))
  20. (setq DCL_STR (nth (SETQ NB (atoi vvs)) FDT_LIST))
  21. (SETQ STR_DATA NIL)
  22. (COND
  23. ((= NB 0)
  24. (setq STR_A (substr DCL_STR 13))
  25. (SETQ DCL_ID% (LOAD_DIALOG "TEST.DCL")) ;;TEST
  26. (NEW_DIALOG "TEST_432_A" DCL_ID%)
  27. (SET_TILE "ED_LAYNA" STR_A)
  28. (action_tile "ED_LAYNA" "(SETQ BOX1$ $value)")
  29. (SETQ RETURN# (START_DIALOG))
  30. (SETQ *MYLISTDATA@ (LIST BOX1$ BOX2$))
  31. (SETQ FDT_LIST (SUB_LSTDT_TO_LSTBOX *MYLISTDATA@))
  32. (START_LIST "listbox")(MAPCAR 'ADD_LIST FDT_LIST)(END_LIST)
  33. )

  34. ((= NB 1)
  35. (setq STR_B (substr DCL_STR 13))
  36. (SETQ DCL_ID% (LOAD_DIALOG "TEST.DCL")) ;;TEST
  37. (NEW_DIALOG "TEST_432_B" DCL_ID%)
  38. (SET_TILE "ED_LAYCL" STR_B)
  39. (action_tile "ED_LAYCL" "(SETQ BOX2$ $value)")
  40. (SETQ RETURN# (START_DIALOG))  
  41. (SETQ *MYLISTDATA@ (LIST BOX1$ BOX2$))
  42. (SETQ FDT_LIST (SUB_LSTDT_TO_LSTBOX *MYLISTDATA@))
  43. (START_LIST "listbox")(MAPCAR 'ADD_LIST FDT_LIST)(END_LIST)
  44. )
  45. ) ;_ 结束COND
  46. )

  47. (SETQ BOX1$ "")
  48. (SETQ BOX2$ "")
  49. (SETQ BOX3$ NIL)
  50. (SETQ *MYLISTDATA@ (LIST BOX1$ BOX2$))
  51. (SETQ FDT_LIST (SUB_LSTDT_TO_LSTBOX *MYLISTDATA@))
  52. (SETQ DCL_ID% (LOAD_DIALOG "TEST.DCL")) ;;TEST
  53. (NEW_DIALOG "TEST_432" DCL_ID%)
  54. (START_LIST "listbox")(MAPCAR 'ADD_LIST FDT_LIST)(END_LIST)
  55. (action_tile "listbox" "(SUB_SETRANNGE $value)")
  56. (SETQ RETURN# (START_DIALOG))
  57. (UNLOAD_DIALOG DCL_ID%)
  58. (SETQ *MYLISTDATA@ (LIST BOX1$ BOX2$))
  59. (SETQ BOX1$ (NTH 0 *MYLISTDATA@))
  60. (SETQ BOX2$ (NTH 1 *MYLISTDATA@))
  61. (SETQ BOX3$ (ATOI BOX2$))

  62. (IF (AND (AND (/= BOX1$ "") (/= BOX2$ "") )
  63.   (= (TYPE BOX1$) 'STR)
  64.   (= (TYPE BOX3$) 'INT)
  65.   (< BOX3$ 256)
  66.   )
  67. (MKLA BOX1$ BOX3$)
  68. )

  69. )

  70. //###############################
  71. TEST_432 :dialog{ label="新增图层";
  72. :boxed_column{
  73. :list_box{
  74.     key="listbox";
  75.     height=20;
  76.     width=30;
  77.     fixed_width_font=true;
  78.   }
  79. }
  80. spacer_1;
  81. ok_cancel;
  82. }

  83. //###############################
  84. TEST_432_A :dialog{label="图层名称设定";
  85. :boxed_column { :row {
  86. :edit_box {key="ED_LAYNA"; label="图层名称"; edit_width=30;}
  87. } }
  88. ok_cancel;
  89. }

  90. //###############################
  91. TEST_432_B :dialog{label="图层颜色设定";
  92. :boxed_column { :row {
  93. :edit_box {key="ED_LAYCL"; label="图层颜色"; edit_width=30;}
  94. } }
  95. ok_cancel;
  96. }


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2007-8-26 06:16:45 | 显示全部楼层
哦呀,脑壳都昏了。。。。。。。。。。。。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-17 05:40 , Processed in 0.182898 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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