明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2723|回复: 10

[讨论] 鼠标双击反应器调用面板,对话框太大无法在屏幕上显示,求解!

[复制链接]
发表于 2017-11-14 09:44 | 显示全部楼层 |阅读模式
本帖最后由 gcho 于 2017-11-14 20:11 编辑

鼠标双击反应器调用面板,对话框太大无法在屏幕上显示(有时候又能正常显示),求解!



代码如下:
  1. ;; 双击反应器
  2. (if (not *dblclkReactor*);;0 = 打开反应器
  3. (setq *dblclkReactor*(VLR-Mouse-Reactor nil'((:VLR-beginDoubleClick . dblclkedit)))))

  4. (defun dblclkedit(reactorObject point)
  5.   (if dblclk-edit(dblclk-edit point))
  6. )
  7. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



  8. ;; 自定义双击反应器Double Click Reactor
  9. (defun dblclk-edit (dblclk_point / owner dblclk_etype p)
  10.   (setq owner (nentselp (setq p (trans (car dblclk_point) 0 1))));;指定点来选择对象
  11.   (if (and (= owner nil) (= 0 (getvar 'cmdactive))) ;_有活动命令时不起作用
  12.       (vla-sendcommand (vla-get-activedocument(vlax-get-acad-object)) (strcat (rtos (car p) 2 3) "," (rtos (cadr p) 2 3) " fg "))
  13.   )
  14. )
  15. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  16. ;面板内容
  17. ;修改版,向飞诗学习
  18. (defun c:fg ()
  19.   (mai_make_panel
  20.     (list   
  21.       (list "画图类"
  22.         (list "智能阵列(DFF)" "DFF")   
  23.         (list "线型换向(HX)" "HX")
  24.         (list "实体对齐(ALO)" "ALO")
  25.         (list "画辅助线(FZ)" "FZ")  
  26.         (list "连续拉伸(LXS)" "LXS")        
  27.       ) ;_ 结束list
  28.       (list "修改类"
  29.         (list "隐藏对象(YC)" "YC")
  30.         (list "显隐对象(XY)" "XY")
  31.         (list "材料替换(TTH)" "TTH")
  32.         (list "插入符号(CRFH)" "CRFH")
  33.         (list "相同刷子(XTS)" "XTS")  
  34.       ) ;_ 结束list
  35.       (list "标注类"
  36.          (list "连续标注(WW)" "WW")
  37.         (list "增补标注(WWS)" "WWS")
  38.         (list "图名比例(BL)" "BL")      
  39.         (list "坡度标注(SS)" "SS")        
  40.         (list "辅助标注(FB)" "FB")  
  41.         
  42.       ) ;_ 结束list
  43.       (list "比例类"
  44.         (list "比例绘图(A)" "A")
  45.         (list "尺寸绘图(AAA)" "AAA")
  46.         (list "放大对象(FD)" "DYT")
  47.         (list "动态字高(DTZG)" "DTZG")
  48.         (list "标注比例(WWBL)" "WWBL")
  49.       ) ;_ 结束list
  50.       (list "统计类"
  51.         (list "增加编号(JB)" "JB")
  52.         (list "删除编号(SB)" "SB")
  53.         (list "统计文本(TC)" "TC")
  54.         (list "统计面积(TJ)" "TJ")
  55.         (list "查找相同(CHZ)" "CHZ")
  56.       ) ;_ 结束list     
  57.       (list "水工相关"
  58.         (list "水工规范(GF)" "GF")
  59.         (list "水工书籍(GH)" "GH")
  60.         (list "水工软件(RJ)" "RJ")
  61.         (list "查配筋表(PJ)" "PJ")   
  62.         (list "工程资料(GCZL)" "GCZL")  
  63.       ) ;_ 结束list
  64.       (list "LSIP学习"
  65.         (list "Lsip查找(CZ)" "CZ")              
  66.         (list "Lsip函数(HS)" "HS")
  67.         (list "Lsip基础(JC)" "JC")
  68.         (list "LsipWrod(JW)" "JW")
  69.         (list "Lsip魔法(MF)" "MF")
  70.       ) ;_ 结束list
  71.       (list "休闲娱乐"
  72.         (list "电子书(DZS)" "DZS")  
  73.         (list "小说(初始设置)" "XSSZ")            
  74.         (list "小说(上次位置)" "XSWZ")
  75.         (list "小说(阅读说明)" "YDSM")
  76.         (list "五 子 棋(WZQ)" "WZQ")
  77.       ) ;_ 结束list
  78.       (list "系统设置"
  79.         (list "程序目录(SJ)" "SJ")              
  80.         (list "卸载菜单(XZ)" "XZ")
  81.         (list "重载菜单(ZX)" "ZX")
  82.         (list "遗留问题(YL)" "YL")
  83.         (list "系统变量(XT)" "XT")
  84.       ) ;_ 结束list
  85.       (list "网页浏览"
  86.         (list "明经论坛(MJ)" "MJ")  
  87.         (list "ZDM论坛(ZDM)" "ZDM")   
  88.         (list "土木 CAD(TU)" "TU")
  89.         (list "百度查找(BD)" "BD")
  90.         (list "我的淘宝(TAO)" "TAO")     
  91.       ) ;_ 结束list
  92.     ) ;_ 结束list
  93.   ) ;_ 结束mai_mak_panel
  94.   (princ)
  95. )
  96. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  97. ;面板尺寸
  98. (defun mai_make_panel ( menulist / n num_nobut num_button nn nnn menuname val_lst add_dclrow tt order_lst in num_image)
  99.   (defun add_dclrow ( dstr / ) (if dstr (setq val_lst (cons dstr val_lst))))
  100.   (setq menuname (strcat (vl-filename-mktemp) "temp_pannel.dcl"))
  101.   (add_dclrow "curbutton:button{width=9;vertical_margin=none;vertical_margin=none;}")
  102.   (add_dclrow "curimage:image{width=9;height=0.15;vertical_margin=none;vertical_margin=none;}")
  103.   (add_dclrow "curpanel:dialog{label=\"GCHO\";alignment=centered;vertical_margin=none;horizontal_margin=none;")
  104.   (add_dclrow ":row{")
  105.   (setq len (apply 'max (mapcar 'length menulist))
  106.     order_lst (apply 'append (mapcar 'cdr menulist))
  107.     num_button 0
  108.     num_nobut 0
  109.     in 0
  110.     num_image 0
  111.   )
  112.   (foreach nn menulist
  113.     (setq in 0)
  114.     (add_dclrow (strcat " : boxed_column{label=\"" (car nn) "\";vertical_margin=none; horizontal_margin=none;"))
  115.     (foreach nnn (cdr nn)
  116.       (setq num_button (1+ num_button)
  117.         in (1+ in)
  118.         num_image (1+ num_image)
  119.         tt (car nnn)
  120.         tt (if tt tt "")
  121.       )
  122.       (add_dclrow (strcat ":curbutton{label=\"" tt "\";key=\"but" (itoa num_button) "\";}"))
  123.       (if (= 4 in)
  124.         (progn (add_dclrow (strcat ":curimage{key=\"ima" (itoa num_image) "\";color=18;}"))
  125.           (setq in 0)
  126.         )
  127.       )
  128.     )
  129.     (repeat (- len (length nn))
  130.       (setq num_nobut (1+ num_nobut)
  131.         in (1+ in)
  132.         num_image (1+ num_image)
  133.       )
  134.       (add_dclrow (strcat " : curbutton{key=\"butno" (itoa num_nobut) "\";color=-2;}"))
  135.       (if (= 4 in)
  136.         (progn (add_dclrow (strcat ":curimage{key=\"ima" (itoa num_image) "\";}"))
  137.           (setq in 0)
  138.         )
  139.       )
  140.     )
  141.     (add_dclrow "spacer;}")
  142.   )
  143.   (add_dclrow "}:button{label=\"关闭\";key=\"cancel\";is_cancel=true;width=10;fixed_width=true;alignment=centered;}}")
  144.   (vl-file-delete menuname)
  145.   (setq nn (open menuname "w"))
  146.   (foreach n (reverse val_lst) (write-line n nn))
  147.   (close nn)
  148.   (setq nnn (load_dialog menuname))
  149.   (if (not (new_dialog "curpanel" nnn)) (exit))
  150.   (setq n 0)
  151.   (repeat num_nobut (mode_tile (strcat "butno" (itoa num_nobut)) 1) (setq num_nobut (1- num_nobut)))
  152.   (foreach nn menulist
  153.     (foreach nnn (cdr nn)
  154.       (setq n (1+ n)
  155.         tt (car nnn)
  156.         tt (if tt tt "")
  157.       )
  158.       (if (= tt "")
  159.         (mode_tile (strcat "but" (itoa n)) 1)
  160.         (action_tile (strcat "but" (itoa n)) (strcat "\(done_dialog " (itoa n) "\)"))
  161.       )
  162.     )
  163.   )
  164.   (setq nn (start_dialog))
  165.   (unload_dialog nnn)
  166.   (vl-file-delete menuname)
  167.   (if (> nn 0)
  168.     (progn (setq tt (cadr (nth (1- nn) order_lst)))
  169.       (princ "\n")
  170.       (if (= (eval (read (strcat "(type c:" tt ")"))) 'SUBR)
  171.         (eval (read (strcat "(c:" tt ")")))
  172.         (vl-cmdf tt)
  173.       )
  174.     )
  175.   )
  176. )
  177. ;****************************************************************************

附上原程序:

本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2017-11-14 12:05 | 显示全部楼层
原因已经在你的截图上了
还有什么好问的?
调整下你的对话框布置
 楼主| 发表于 2017-11-14 14:47 | 显示全部楼层
masterlong 发表于 2017-11-14 12:05
原因已经在你的截图上了
还有什么好问的?
调整下你的对话框布置

但是有时候又是正常的,能正确显示面板,有时候会弹出这个对话框,程序中断!
发表于 2017-11-15 08:11 | 显示全部楼层
将显示器的分辨率调高一些
 楼主| 发表于 2017-11-15 09:03 | 显示全部楼层
USER2128 发表于 2017-11-15 08:11
将显示器的分辨率调高一些

显示器的分辨率已是最高了,19寸显示器,最大只能设置1440*900了。
发表于 2017-11-15 10:04 来自手机 | 显示全部楼层
修改程序,调整dcl布局
发表于 2017-11-15 10:06 来自手机 | 显示全部楼层
http://bbs.mjtd.com/thread-175352-1-1.html不嫌麻烦可以看看我这个
 楼主| 发表于 2017-11-17 09:08 | 显示全部楼层
;面板尺寸
这块怎么修改,太复杂了,看不懂了!
发表于 2017-11-17 11:47 | 显示全部楼层
;; 取消按钮上没用的内容

本帖子中包含更多资源

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

x
发表于 2017-11-17 12:47 | 显示全部楼层


本帖子中包含更多资源

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

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

本版积分规则

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

GMT+8, 2024-4-25 17:22 , Processed in 1.096179 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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