乐筑天下

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

[编程交流] DCL帮助

[复制链接]

35

主题

140

帖子

108

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
177
发表于 2022-7-5 17:26:42 | 显示全部楼层 |阅读模式
我在玩DCL,用Afralisp和Jeff Sanders。
 
是否可以取消取消按钮,只使用右上角的“X”按钮??
 
这是我目前为止的Lisp程序:
  1. (defun c:test (/ dcl_id z)
  2. (setq dcl_id (load_dialog "ModZ.dcl"))
  3. (if (not (new_dialog "ModZ" dcl_id))
  4.    (exit)
  5. )
  6. (set_tile "Z" "0.00")
  7. (action_tile "But1" "(doButton 1)")
  8. (action_tile "But2" "(doButton 2)")
  9. (action_tile "But3" "(doButton 3)")
  10. (action_tile "Cancel"  "(done_dialog)")
  11. (start_dialog)
  12. (unload_dialog dcl_id)
  13. (princ)
  14. );defun
  15. (defun doButton(a)
  16. (cond
  17.    ((= a 1)(alert "Button 1 was pressed!"))
  18.    ((= a 2)(alert "Button 2 was pressed!"))
  19.    ((= a 3)(alert "Button 3 was pressed!"))
  20. )
  21. )

 
我的DCL:
  1. ModZ : dialog {
  2. label = "Modify Z";
  3. : edit_box
  4. {
  5. label = "Elevation :";
  6. key = "Z";
  7. alignment = centered;
  8. edit_limit = 20;
  9. edit_width = 20;
  10. //allow_accept = true
  11. }
  12. : row {
  13.         : spacer { height = 1; }
  14.         }
  15.         :row {
  16.        
  17. : button {
  18. label = "Single";
  19. key = "But1";
  20. alignment = centered;
  21. width = 12;
  22. }
  23. : button {
  24. label = "Fence";
  25. key = "But2";
  26. alignment = centered;
  27. width = 12;
  28. }
  29. : button {
  30. label = "All";
  31. key = "But3";
  32. alignment = centered;
  33. width = 12;
  34. }
  35. : button {
  36. label = "Cancel";
  37. key = "Cancele";
  38. alignment = centered;
  39. width = 12;
  40. is_cancel = true;
  41. }
  42. }
  43. }
回复

使用道具 举报

35

主题

140

帖子

108

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
177
发表于 2022-7-5 17:53:03 | 显示全部楼层
此外,我想在按下按钮1时隐藏dcl。但我不能让它工作。Afralisp正在使用标志,但我无法使其工作。
 
有人能告诉我如何做到这一点吗?
 
谢谢
回复

使用道具 举报

35

主题

140

帖子

108

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
177
发表于 2022-7-5 17:58:11 | 显示全部楼层
DCL专家在哪里?我仍在试图找出如何隐藏dcl,以便选择一个对象。
回复

使用道具 举报

rlx

21

主题

1505

帖子

1551

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
81
发表于 2022-7-5 18:26:40 | 显示全部楼层
你好,乔纳森,
 
 
网上有很多关于这个主题的东西。请尝试以下链接:
 
 
http://www.afralisp.net/dialog-control-language/tutorials/hiding-dialog-boxes.php
 
 
gr.Rlx
回复

使用道具 举报

35

主题

140

帖子

108

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
177
发表于 2022-7-5 18:28:35 | 显示全部楼层
我终于成功了。
 
请随意评论我的代码!
 
Lisp程序:
  1. (defun c:modz (/ dcl_id )
  2. (if(not Elv)
  3.    (setq Elv "0.00")
  4.    )
  5. (setq flag 3)
  6. (setq dcl_id (load_dialog "ModZ.dcl"))
  7. (while (> flag 2)
  8. (if (not (new_dialog "ModZ" dcl_id))
  9.    (exit)
  10. )
  11. (set_tile "Elv" Elv)
  12. (action_tile "Elv" "(setq Elv $value)")
  13. (action_tile "Accept" "(saveVars)(done_dialog 1)")
  14. (action_tile "Cancel"  "(done_dialog 0)(setq Elv nil)")
  15.    (setq flag (start_dialog))
  16.    (if (= flag 1)
  17.      (progn
  18. (setq ss (ssget))
  19.    (unload_dialog dcl_id)
  20.         (command "_.CHANGE" ss "" "_P" "_E" Elv "")
  21. (princ(strcat "Object(s) Elevation set to " Elv))
  22. )
  23.      )
  24.    )
  25. (princ)
  26. );defun
  27. (defun saveVars(/ Elv)
  28. (setq Elv(distof(get_tile "Elv")))
  29. )

 
DCL:
  1. ModZ : dialog {
  2. label = "Modify Z";
  3. : edit_box
  4. {
  5. label = "Elevation:";
  6. key = "Elv";
  7. alignment = left;
  8. edit_limit = 20;
  9. edit_width = 20;
  10. }
  11. : row {
  12.         : spacer { height = 1; }
  13.         }
  14.         :row {
  15.        
  16. : button {
  17. label = "PICK OBJ";
  18. key = "Accept";
  19. alignment = centered;
  20. width = 12;
  21. is_default = true;
  22. allow_accept = true;
  23. mnemonic = "P";
  24. }
  25. : button {
  26. label = "CANCEL";
  27. key = "Cancel";
  28. alignment = centered;
  29. width = 12;
  30. is_default = false;
  31. is_cancel = true;
  32. mnemonic = "C";
  33. }
  34. }
  35. }
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 03:16 , Processed in 0.355342 second(s), 62 queries .

© 2020-2025 乐筑天下

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