明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: wwjuan1984

(急!!!)求助:对话框的嵌套

  [复制链接]
 楼主| 发表于 2006-6-13 09:24:00 | 显示全部楼层

能不能帮我标一下在哪里修改?要改成什么样的?谢谢你们了

急死我了~~

发表于 2006-6-13 12:35:00 | 显示全部楼层

本帖子中包含更多资源

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

x
 楼主| 发表于 2006-6-13 16:50:00 | 显示全部楼层

十分十分十分感谢你~~

 

发表于 2012-5-27 10:37:41 | 显示全部楼层
ZZXXQQ 发表于 2006-6-11 23:36
两个对话框在一个文件中,就是c_paper和c_zdy两个对话框定义在一个文件c_paper.dcl中,而不是分别在c_paper ...
  1. load_paper:dialog{
  2. label="图纸选择对话框";
  3. :text{
  4. label="选择需要的图纸图幅,然后单击确定即可";
  5. }
  6. :boxed_row{
  7. :radio_button{
  8. label="A0";
  9. key="A0";
  10. value=1;
  11. fixed_width=true;
  12. width=5;
  13. alignment=centered;
  14. }
  15. :radio_button{
  16. label="A1";
  17. key="A1";
  18. value=0;
  19. fixed_width=true;
  20. width=5;
  21. alignment=centered;
  22. }
  23. :radio_button{
  24. label="A2";
  25. key="A2";
  26. value=0;
  27. fixed_width=true;
  28. width=5;
  29. alignment=centered;
  30. }
  31. :radio_button{
  32. label="A3";
  33. key="A3";
  34. value=0;
  35. fixed_width=true;
  36. width=5;
  37. alignment=centered;
  38. }
  39. :radio_button{
  40. label="A4";
  41. key="A4";
  42. value=0;
  43. fixed_width=true;
  44. width=5;
  45. alignment=centered;
  46. }
  47. :radio_button{
  48. label="A5";
  49. key="A5";
  50. value=0;
  51. fixed_width=true;
  52. width=5;
  53. alignment=centered;
  54. }
  55. :radio_button{
  56. label="自定义";
  57. key="D";
  58. value=0;
  59. fixed_width=true;
  60. width=5;
  61. alignment=centered;
  62. }
  63. }
  64. ok_only;
  65. }

  66. c_zdy:dialog{
  67. label="自定义图纸对话框";
  68. :text{
  69. label="先输入数据,然后单击确定即可";
  70. }
  71. :boxed_row{
  72. label="参数";
  73. :edit_box{
  74. label="长(Length)";
  75. key="L";
  76. fixed_width=true;
  77. width=5;
  78. alignment=centered;
  79. }
  80. :edit_box{
  81. label="宽(Width)";
  82. key="W";
  83. fixed_width=true;
  84. width=5;
  85. alignment=centered;
  86. }
  87. }
  88. ok_cancel;
  89. }
  1. (defun c:load_paper(/ dcl_id j)
  2.   (setq x 0 y 0 n1 0 n 0 R 0 r 0 d 0 a 0 a1 0 rj 0)
  3.   (setq dcl_id(load_dialog"G:/大论文/load_paper.dcl"))
  4.   (if(not(new_dialog"load_paper"dcl_id))(exit))
  5.   (action_tile"A0""(data_manage0)")
  6.   (action_tile"A1""(data_manage1)")
  7.   (action_tile"A2""(data_manage2)")
  8.   (action_tile"A3""(data_manage3)")
  9.   (action_tile"A4""(data_manage4)")
  10.   (action_tile"A5""(data_manage5)")
  11.   (action_tile"D""(data_manage6)")
  12.   (start_dialog)
  13.   (unload_dialog dcl_id)
  14.   (princ)
  15.   (command"layer" "m" 0 "on" "" "")
  16.   (command"rectang" pt1 pt2)
  17.   (command"rectang" pt2 pt3)
  18.   (command"layer" "m" 1 "c" 1 "" "")
  19.   (command"rectang" pt4 pt5)
  20.   (command"layer" "m" 0 "on" "" "")
  21. )
  22. (defun data_manage0()
  23.   (setq pt1(list 0 0)
  24. pt2(list -1180 840)
  25. pt3(list -1140 832)
  26. pt4(list 5 -5)
  27. pt5(list -1195 845)
  28.   )
  29. )
  30. (defun data_manage1()
  31.   (setq pt1(list 0 0)
  32. pt2(list -840 594)
  33. pt3(list -800 586)
  34. pt4(list 5 -5)
  35. pt5(list -855 609)
  36.   )
  37. )
  38. (defun data_manage2()
  39.   (setq pt1(list 0 0)
  40. pt2(list -594 420)
  41. pt3(list -554 412)
  42. pt4(list 5 -5)
  43. pt5(list -609 435)
  44.   )
  45. )
  46. (defun data_manage3()
  47.   (setq pt1(list 0 0)
  48. pt2(list -420 297)
  49. pt3(list -380 292)
  50. pt4(list 5 -5)
  51. pt5(list -445 302)
  52.   )
  53. )
  54. (defun data_manage4()
  55.   (setq pt1(list 0 0)
  56. pt2(list -210 297)
  57. pt3(list -170 289)
  58. pt4(list 5 -5)
  59. pt5(list -235 302)
  60.   )
  61. )
  62. (defun data_manage5()
  63.   (setq pt1(list 0 0)
  64. pt2(list -148 210)
  65. pt3(list -108 202)
  66. pt4(list 5 -5)
  67. pt5(list -173 215)
  68.   )
  69. )
  70. (defun data_manage6()
  71. (if (new_dialog "c_zdy" dcl_id) (PROGN
  72.   (action_tile"accept" "(getdata) (done_dialog 1)")
  73.   (action_tile"cancel" "(done_dialog 0)")
  74.   (setq what_next (start_dialog))
  75. ))
  76. )
  77. (defun getdata()
  78.   (setq L(atof(get_tile "L")))
  79.   (setq W(atof(get_tile "W")))
  80.   (setq pt1(list 0 0))
  81.   (setq pt2(list(- L  W)))
  82.   (setq pt3(list(- (- L 40) (- W 8))))
  83.   (setq pt4(list 5 - 5))
  84.   (setq pt5(list - (+ L 55) (+ W 5)))
  85. )
大侠为什么我按你的该了后,其他都好,就那自定义的没有画出图形? 打包成load_paper.vlx执行的
发表于 2012-5-27 11:11:10 | 显示全部楼层
ZZXXQQ 发表于 2006-6-11 23:36
两个对话框在一个文件中,就是c_paper和c_zdy两个对话框定义在一个文件c_paper.dcl中,而不是分别在c_paper ...
  1. load_paper:dialog{
  2. label="图纸选择对话框";
  3. :text{
  4. label="选择需要的图纸图幅,然后单击确定即可";
  5. }
  6. :boxed_row{
  7. :radio_button{
  8. label="A0";
  9. key="A0";
  10. value=1;
  11. fixed_width=true;
  12. width=5;
  13. alignment=centered;
  14. }
  15. :radio_button{
  16. label="A1";
  17. key="A1";
  18. value=0;
  19. fixed_width=true;
  20. width=5;
  21. alignment=centered;
  22. }
  23. :radio_button{
  24. label="A2";
  25. key="A2";
  26. value=0;
  27. fixed_width=true;
  28. width=5;
  29. alignment=centered;
  30. }
  31. :radio_button{
  32. label="A3";
  33. key="A3";
  34. value=0;
  35. fixed_width=true;
  36. width=5;
  37. alignment=centered;
  38. }
  39. :radio_button{
  40. label="A4";
  41. key="A4";
  42. value=0;
  43. fixed_width=true;
  44. width=5;
  45. alignment=centered;
  46. }
  47. :radio_button{
  48. label="A5";
  49. key="A5";
  50. value=0;
  51. fixed_width=true;
  52. width=5;
  53. alignment=centered;
  54. }
  55. :radio_button{
  56. label="自定义";
  57. key="D";
  58. value=0;
  59. fixed_width=true;
  60. width=5;
  61. alignment=centered;
  62. }
  63. }
  64. ok_only;
  65. }

  66. c_zdy:dialog{
  67. label="自定义图纸对话框";
  68. :text{
  69. label="先输入数据,然后单击确定即可";
  70. }
  71. :boxed_row{
  72. label="参数";
  73. :edit_box{
  74. label="长(Length)";
  75. key="L";
  76. fixed_width=true;
  77. width=5;
  78. alignment=centered;
  79. }
  80. :edit_box{
  81. label="宽(Width)";
  82. key="W";
  83. fixed_width=true;
  84. width=5;
  85. alignment=centered;
  86. }
  87. }
  88. ok_cancel;
  89. }
  1. (defun c:load_paper(/ dcl_id j)
  2.   (setq x 0 y 0 n1 0 n 0 R 0 r 0 d 0 a 0 a1 0 rj 0)
  3.   (setq dcl_id(load_dialog"G:/大论文/load_paper.dcl"))
  4.   (if(not(new_dialog"load_paper"dcl_id))(exit))
  5.   (action_tile"A0""(data_manage0)")
  6.   (action_tile"A1""(data_manage1)")
  7.   (action_tile"A2""(data_manage2)")
  8.   (action_tile"A3""(data_manage3)")
  9.   (action_tile"A4""(data_manage4)")
  10.   (action_tile"A5""(data_manage5)")
  11.   (action_tile"D""(data_manage6)")
  12.   (start_dialog)
  13.   (unload_dialog dcl_id)
  14.   (princ)
  15.   (command"layer" "m" 0 "on" "" "")
  16.   (command"rectang" pt1 pt2)
  17.   (command"rectang" pt2 pt3)
  18.   (command"layer" "m" 1 "c" 1 "" "")
  19.   (command"rectang" pt4 pt5)
  20.   (command"layer" "m" 0 "on" "" "")
  21. )
  22. (defun data_manage0()
  23.   (setq pt1(list 0 0)
  24. pt2(list -1180 840)
  25. pt3(list -1140 832)
  26. pt4(list 5 -5)
  27. pt5(list -1195 845)
  28.   )
  29. )
  30. (defun data_manage1()
  31.   (setq pt1(list 0 0)
  32. pt2(list -840 594)
  33. pt3(list -800 586)
  34. pt4(list 5 -5)
  35. pt5(list -855 609)
  36.   )
  37. )
  38. (defun data_manage2()
  39.   (setq pt1(list 0 0)
  40. pt2(list -594 420)
  41. pt3(list -554 412)
  42. pt4(list 5 -5)
  43. pt5(list -609 435)
  44.   )
  45. )
  46. (defun data_manage3()
  47.   (setq pt1(list 0 0)
  48. pt2(list -420 297)
  49. pt3(list -380 292)
  50. pt4(list 5 -5)
  51. pt5(list -445 302)
  52.   )
  53. )
  54. (defun data_manage4()
  55.   (setq pt1(list 0 0)
  56. pt2(list -210 297)
  57. pt3(list -170 289)
  58. pt4(list 5 -5)
  59. pt5(list -235 302)
  60.   )
  61. )
  62. (defun data_manage5()
  63.   (setq pt1(list 0 0)
  64. pt2(list -148 210)
  65. pt3(list -108 202)
  66. pt4(list 5 -5)
  67. pt5(list -173 215)
  68.   )
  69. )
  70. (defun data_manage6()
  71. (if (new_dialog "c_zdy" dcl_id) (PROGN
  72.   (action_tile"accept" "(getdata) (done_dialog 1)")
  73.   (action_tile"cancel" "(done_dialog 0)")
  74.   (setq what_next (start_dialog))
  75. ))

  76. )
  77. (defun getdata()
  78.   (setq L(atof(get_tile "L")))
  79.   (setq W(atof(get_tile "W")))
  80.   (setq pt1(list 0 0))
  81.   (setq pt2(list(- L  W)))
  82.   (setq pt3(list(- (- L 40) (- W 8))))
  83.   (setq pt4(list 5 - 5))
  84.   (setq pt5(list - (+ L 55) (+ W 5)))
  85. )
为什么我在生成load-paper.vlx文件后运行,其他的都好,就那自定义的不绘图?怎么改呀
发表于 2012-8-28 14:15:37 | 显示全部楼层
mark一下再好好学习,嵌套有点看不懂。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-7 21:01 , Processed in 0.180806 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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