乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 43|回复: 0

[编程交流] 我需要帮助我使用Popup\u

[复制链接]

12

主题

25

帖子

13

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
60
发表于 2022-7-5 17:53:04 | 显示全部楼层 |阅读模式
嗨,我有个问题:
我在一个“弹出列表”中准备了几个,我希望每次你选择其中一个列表时,这些列表的内容都看起来像一个“列表框”
 
  1. ;;;---------------------------------------- setvar --------------------------
  2. (defun saveVars()
  3. (setq blkList (list))
  4. (setq ignlist (get_tile "bloqlist"))  
  5. (setq count 1)   
  6. (while (setq fila (read ignlist))
  7.    (setq blkList (append blkList (list (nth fila bloList))))
  8.    (while
  9.      (and
  10.        (/= " " (substr ignlist count 1))
  11.        (/= ""  (substr ignlist count 1)))
  12.      (setq count (1+ count)))
  13.    (setq ignlist (substr ignlist count))))
  14. ;;;---------------------------------------- read file "1-DWG-TOMACORRIENTES.txt" for default --------------------------
  15. (defun blokinf ()
  16. (setq bloList (list))   
  17. (if (findfile "1-DWG-TOMACORRIENTES.txt")
  18. (progn
  19. (if (setq ruta (open (findfile "C:/Program Files/AutoCAD 2008/1-DWG-TOMACORRIENTES.txt") "r"))
  20. (progn        
  21. (read-line ruta)  
  22. (while (setq pa (read-line ruta))         
  23. (setq bloList         
  24. (append
  25. bloList
  26. (list (list pa)))))
  27. (close ruta))))) bloList )
  28. ;;;---------------------------------------- main program --------------------------
  29. (defun c:E1 ( / bloqlist$ infolist$)
  30. (if (not *E1@) (setq *E1@ (list nill "" "")))
  31. (setq bloqlist$ (nth 1 *E1@))
  32. (setq infolist$ (nth 2 *E1@))
  33. (setvar "cmdecho" 0)
  34. (setq bloList (blokinf))   
  35. (if bloList   
  36. (progn
  37. (setq dcl_id (load_dialog "INSERT-1.dcl"))      
  38. (if (not (new_dialog "INSERTA" dcl_id "" (cond (*screenpointE1*) ('(-1 -1)))))      
  39. (progn
  40. (princ "\n**ERROR**") (exit)))         
  41. (setq bloNames (list))   
  42. (foreach pa bloList
  43. (setq bloNames (append bloNames(list (car pa)))))
  44. (setq folder (GetDwgsMob "AutoCAD 2008")) ;;add version autocad to folder
  45. ;;;;(_addlist "bloqlist" bloNames)
  46. (_addlist "infolist" folder)
  47. (set_tile "bloqlist" bloqlist$)
  48. (set_tile "infolist" infolist$)
  49. (action_tile "bloqlist" "(setq bloqlist$ $value)")
  50. (action_tile "infolist" "(start_list "bloqlist") (mapcar 'add_list (eval (read (strcat "1-DWG-" $value ".TXT")))) (end_list)")
  51. (action_tile "cancel" "(setq *screenpointE1* (done_dialog 1))")
  52. (action_tile "accept" "(saveVars)(setq *screenpointE1* (done_dialog 2))")
  53. (setq ddiag (start_dialog))
  54. (unload_dialog dcl_id)
  55. (setq *E1@ (list nil bloqlist$ infolist$))
  56. (if (= ddiag 1) (prompt "\n**Cancel**"))  
  57. (princ))))
  58. ;;----------------- Path-2DAMobBasico ------------------------------------
  59. ;; main route ---> "C:/Program Files/"
  60. ;;------------------------------------------------------------------------
  61. (defun Path-2DAMobBasico () "C:/Program Files/")
  62. ;;------------------------ GetDwgsMob ------------------------------------------------------------------
  63. ;; collects data from the specified directory  (setq folder (GetDwgsMob "AutoCAD 2008"))
  64. ;; return ---> "C:/Program Files/AutoCAD 2008/"
  65. ;;------------------------------------------------------------------------------------------------------
  66. (defun GetDwgsMob (sParentMob / ListaMob DirMobTipo)         
  67.     (if (setq DirMobTipo (strcat (Path-2DAMobBasico) sParentMob))
  68.      (setq ListaMob (vl-directory-files (strcat DirMobTipo "\") "*.txt" 1)
  69.       ListaMob (mapcar (function vl-filename-base) ListaMob))   
  70.     );c.if
  71.     ListaMob
  72.    );c.defun
  73. (defun _addlist ( key lst )
  74.        (start_list key)
  75.        (foreach x lst (add_list x))
  76.        (end_list)
  77.        lst)

 
  1. INSERTA : dialog { label = "Program.....";
  2.          initial_focus="bloqlist";
  3.          : column {
  4.            spacer_1;
  5.          : boxed_row { label = "content of each list"; alignment = centered;
  6.           spacer_1;
  7.           : list_box { key = "bloqlist"; allow_accept = true; fixed_width = true; width = 40; value = "0";}
  8.         }
  9.          spacer_1;
  10.          }
  11.         spacer_1;
  12.         : popup_list { width =40; key = "infolist"; value = "1"; is_enabled = true ; }
  13.         spacer_1;
  14.         : row {
  15.         : button { key = "accept";label = "accept"; is_default = true;width =14;}
  16.           : button { key = "cancel";label = "cancel"; is_default = false; is_cancel = true;width =14;}
  17.            }
  18. }

 
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 00:57 , Processed in 0.372209 second(s), 54 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表