本帖最后由 yanshengjiang 于 2025-10-9 23:58 编辑

看见有人求助,并且发了源码,用deepseek改了改,应该是他要的结果吧.
工具面板切换标签不闪屏.
求助帖是:http://bbs.mjtd.com/thread-192702-1-1.html
晚11点更新,记住上次打开的标签,和位置。文件和代码一样的。土豪请。
下面是GIF和源码:


  1. (vl-load-com)

  2. ;; 全局变量,用于记忆上次使用的工具组
  3. (setq *toolbox-last-group* nil)
  4. ;; +++ 新增:全局变量,用于记忆上次对话框的位置 +++
  5. (setq *screenpoint* nil)

  6. (defun c:TB (/ *dcl-file* *dcl-id* current-group dcl-result)
  7.   (vl-load-com)
  8.   
  9.   ;; 设置当前组:优先使用全局变量中的值,否则默认为"A"
  10.   (setq current-group (cond (*toolbox-last-group*) ("A")))

  11.   ;; 错误处理函数
  12.   (defun *error* (msg)
  13.     (if (and *dcl-id* (new_dialog "toolbox" *dcl-id*))
  14.         (done_dialog)
  15.     )
  16.     (if *dcl-file* (vl-file-delete *dcl-file*))
  17.     (princ (strcat "\n工具箱错误: " msg))
  18.   )

  19.   ;; 完整工具数据库 (A-J共10组,每组最多50个工具)
  20.   (setq *tool-database*
  21.     '(("A" "绘图工具"
  22.        (("直线" "LINE") ("圆" "CIRCLE") ("圆弧" "ARC") ("多段线" "PLINE") ("样条曲线" "SPLINE")
  23.         ("矩形" "RECTANG") ("多边形" "POLYGON") ("椭圆" "ELLIPSE") ("点" "POINT") ("填充图案" "HATCH")
  24.         ("构造线" "XLINE") ("射线" "RAY") ("云线" "REVCLOUD") ("区域" "REGION") ("边界" "BOUNDARY")
  25.         ("面域" "REGION") ("三维面" "3DFACE") ("长方体" "BOX") ("球体" "SPHERE") ("圆柱体" "CYLINDER")
  26.         ("圆锥体" "CONE") ("楔体" "WEDGE") ("圆环" "TORUS") ("拉伸" "EXTRUDE") ("旋转" "REVOLVE")
  27.         ("扫描" "SWEEP") ("放样" "LOFT") ("并集" "UNION") ("差集" "SUBTRACT") ("交集" "INTERSECT")
  28.         ("移动" "MOVE") ("复制" "COPY") ("旋转" "ROTATE") ("缩放" "SCALE") ("镜像" "MIRROR")
  29.         ("阵列" "ARRAY") ("偏移" "OFFSET") ("修剪" "TRIM") ("延伸" "EXTEND") ("打断" "BREAK")
  30.         ("倒角" "CHAMFER") ("圆角" "FILLET") ("分解" "EXPLODE") ("对齐" "ALIGN") ("合并" "JOIN")
  31.         ("拉长" "LENGTHEN") ("编辑多段线" "PEDIT") ("编辑样条线" "SPLINEDIT") ("编辑填充" "HATCHEDIT") ("编辑文字" "TEXTEDIT")))
  32.       
  33.       ("B" "修改工具"
  34.        (("删除" "ERASE") ("复制" "COPY") ("镜像" "MIRROR") ("偏移" "OFFSET") ("阵列" "ARRAY")
  35.         ("移动" "MOVE") ("旋转" "ROTATE") ("缩放" "SCALE") ("拉伸" "STRETCH") ("修剪" "TRIM")
  36.         ("延伸" "EXTEND") ("打断" "BREAK") ("倒角" "CHAMFER") ("圆角" "FILLET") ("分解" "EXPLODE")
  37.         ("对齐" "ALIGN") ("合并" "JOIN") ("拉长" "LENGTHEN") ("编辑多段线" "PEDIT") ("编辑样条线" "SPLINEDIT")
  38.         ("编辑填充" "HATCHEDIT") ("编辑文字" "TEXTEDIT") ("编辑属性" "EATTEDIT") ("编辑块" "BEDIT") ("编辑参照" "REFEDIT")))
  39.       
  40.       ("C" "标注工具"
  41.        (("线性标注" "DIMLINEAR") ("对齐标注" "DIMALIGNED") ("半径标注" "DIMRADIUS") ("直径标注" "DIMDIAMETER") ("角度标注" "DIMANGULAR")
  42.         ("弧长标注" "DIMARC") ("坐标标注" "DIMORDINATE") ("快速标注" "QDIM") ("基线标注" "DIMBASELINE") ("连续标注" "DIMCONTINUE")))
  43.       
  44.       ("D" "图层工具"
  45.        (("图层管理" "LAYER") ("图层状态" "LAYERSTATE") ("图层隔离" "LAYISO") ("取消隔离" "LAYUNISO") ("图层冻结" "LAYFRZ")
  46.         ("图层解冻" "LAYTHW") ("图层锁定" "LAYLCK") ("图层解锁" "LAYULK") ("图层删除" "LAYDEL") ("图层合并" "LAYMRG")))
  47.       
  48.       ("E" "块工具"
  49.        (("创建块" "BLOCK") ("插入块" "INSERT") ("编辑块" "BEDIT") ("块编辑器" "BEDIT") ("属性定义" "ATTDEF")
  50.         ("编辑属性" "EATTEDIT") ("块属性管理" "BATTMAN") ("重定义块" "REFEDIT") ("块替换" "BLOCKREPLACE") ("块统计" "BCOUNT")))
  51.       
  52.       ("F" "参照工具"
  53.        (("外部参照" "XREF") ("图像附着" "IMAGEATTACH") ("PDF附着" "PDFATTACH") ("DGN附着" "DGNATTACH") ("DWF附着" "DWFATTACH")
  54.         ("参照编辑" "REFEDIT") ("参照裁剪" "XCLIP") ("参照绑定" "XBIND") ("参照卸载" "XREFUNLOAD") ("参照重载" "XREFRELOAD")))
  55.       
  56.       ("G" "三维工具"
  57.        (("长方体" "BOX") ("球体" "SPHERE") ("圆柱体" "CYLINDER") ("圆锥体" "CONE") ("楔体" "WEDGE")
  58.         ("圆环" "TORUS") ("拉伸" "EXTRUDE") ("旋转" "REVOLVE") ("扫描" "SWEEP") ("放样" "LOFT")))
  59.       
  60.       ("H" "渲染工具"
  61.        (("材质浏览器" "MATBROWSEROPEN") ("材质编辑器" "MATEDITOROPEN") ("贴图" "MATERIALMAP") ("光源" "LIGHT") ("阳光特性" "SUNPROPERTIES")
  62.         ("渲染" "RENDER") ("渲染环境" "RENDERENVIRONMENT") ("渲染输出" "RENDEROUTPUT") ("高级渲染设置" "RPREF") ("渲染窗口" "RENDERWIN")))
  63.       
  64.       ("I" "查询工具"
  65.        (("距离" "DIST") ("半径" "MEASUREGEOM") ("角度" "MEASUREGEOM") ("面积" "AREA") ("体积" "MEASUREGEOM")
  66.         ("质量特性" "MASSPROP") ("列表" "LIST") ("点坐标" "ID") ("时间" "TIME") ("状态" "STATUS")))
  67.       
  68.       ("J" "自定义工具"
  69.        (("选项" "OPTIONS") ("自定义界面" "CUI") ("键盘快捷键" "CUI") ("鼠标手势" "CUI") ("工具栏" "CUI")
  70.         ("菜单" "CUI") ("面板" "CUI") ("工作空间" "WSCURRENT") ("脚本" "SCRIPT") ("LISP加载" "APPLOAD")))
  71.     ))

  72.   ;; 创建DCL文件并加载对话框
  73.   (setq *dcl-file* (vl-filename-mktemp "TB_final.dcl"))
  74.   (create-toolbox-dcl *dcl-file*)
  75.   (setq *dcl-id* (load_dialog *dcl-file*))
  76.   
  77.   ;; +++ 关键修改:初始化对话框时,传入记忆的位置参数 dialog-position +++
  78.   (if (not (new_dialog "toolbox" *dcl-id* "" (cond ( *screenpoint* ) ( '(-1 -1) ))))
  79.       (progn
  80.         (vl-file-delete *dcl-file*)
  81.         (princ "\n无法创建对话框")
  82.         (exit)
  83.       )
  84.   )
  85.   
  86.   ;; 初始化界面
  87.   (init-toolbox-dialog current-group)
  88.   
  89.   ;; 主循环
  90.   (setq dcl-result (start_dialog))


  91.   
  92.   ;; 保存当前组到全局变量(记忆功能)
  93.   (setq *toolbox-last-group* current-group)
  94.   
  95.   ;; 清理资源
  96.   (unload_dialog *dcl-id*)
  97.   (vl-file-delete *dcl-file*)
  98.   
  99.   (princ)
  100. )

  101. (defun create-toolbox-dcl (fname / tmp n)
  102.   (setq tmp (open fname "w"))
  103.   
  104.   (write-line "toolbox : dialog {" tmp)
  105.   (write-line "  label = \"★工具箱★\";" tmp)
  106.   (write-line "  spacer; initial_focus = \"groupA\";" tmp)
  107.   (write-line "  : row {" tmp)
  108.   
  109.   ;; 左侧分类区域 - 显示文字
  110.   (write-line "    : boxed_column {" tmp)
  111.   (write-line "      label = \"工具分类\"; width = 15; fixed_width = true;" tmp)
  112.   (write-line "      : column {" tmp)
  113.   (foreach g *tool-database*
  114.     (write-line
  115.       (strcat "        : button { key = \"group" (car g) "\"; label = \"" (cadr g) "\"; fixed_width = true; width = 16; height = 2; }")
  116.       tmp
  117.     )
  118.   )
  119.   (write-line "      }" tmp)
  120.   (write-line "    }" tmp)
  121.   
  122.   ;; 右侧工具区域
  123.   (write-line "    : boxed_column {" tmp)
  124.   (write-line "      label = \"工具列表\"; key = \"toolgroup\";" tmp)
  125.   (write-line "      : row {" tmp)
  126.   
  127.   (setq n 1)
  128.   (repeat 5
  129.     (write-line "        : column { fixed_width = true; alignment = centered;" tmp)
  130.     (repeat 10  
  131.       (write-line
  132.         (strcat "          : image_button { key = \"tool" (itoa n) "\"; width = 16; height = 2; fixed_width = true; }")
  133.         tmp
  134.       )
  135.       (setq n (1+ n)))
  136.     (write-line "        }" tmp))
  137.   (write-line "      }" tmp)
  138.   (write-line "    }" tmp)
  139.   (write-line "  }" tmp)
  140.   
  141.   ;; 修改:只保留取消按钮
  142.   (write-line "  spacer;" tmp)
  143.   (write-line "  : row { alignment = right;" tmp)
  144.   (write-line ":image        { key=\"yan_image\";width=31.4;height=2.5;fixed_width=true;fixed_height=true;}" tmp)
  145.   (write-line "    : button { key = \"cancel\"; label = \"取消\"; is_cancel = true; fixed_width = true; width = 10; }" tmp)
  146.   (write-line "  }" tmp)
  147.   (write-line "}" tmp)
  148.   (close tmp)
  149. )

  150. (defun init-toolbox-dialog (group-code)
  151.   ;; 设置分类按钮 - 显示文字
  152.   (foreach group *tool-database*
  153.     (setq key (strcat "group" (car group)))
  154.     (setq label (cadr group))
  155.    
  156.     ;; 设置按钮颜色
  157.     (if (eq (car group) group-code)
  158.       (progn
  159.         (mode_tile key 2) ; 当前组高亮显示
  160.         (set_tile key label)
  161.       )
  162.       (progn
  163.         (mode_tile key 0) ; 其他组正常显示
  164.         (set_tile key label)
  165.       )
  166.     )
  167.    
  168.     (action_tile key
  169.       (strcat
  170.         "(progn "
  171.         "(setq current-group \"" (car group) "\") "  ; 更新当前组变量
  172.         "(update-tool-group \"" (car group) "\") "
  173.         ")"
  174.       )
  175.     )
  176.   )
  177.   
  178.   ;; 初始化工具按钮
  179.   (update-tool-group group-code)
  180.   
  181.   ;; 设置底部按钮 - 只保留取消按钮
  182.   (action_tile "cancel" "(setq *screenpoint* (done_dialog 0))");为记住上次位置的改动2/2
  183. )

  184. (defun update-tool-group (group-code / group tools n tool-pair tool-name)
  185.   (setq group (assoc group-code *tool-database*))
  186.   (setq tools (caddr group))
  187.   
  188.   ;; 更新标题
  189.   (set_tile "toolgroup" (strcat (cadr group) " (" group-code ")"))
  190.   
  191.   ;; 更新所有工具按钮
  192.   (foreach n (number-list 1 50)
  193.     (setq key (strcat "tool" (itoa n)))
  194.     (setq tool-pair (if (< (1- n) (length tools)) (nth (1- n) tools) nil))
  195.     (setq tool-name (if tool-pair (car tool-pair) ""))
  196.    
  197.     ;; 设置图像按钮背景和文字
  198.     (start_image key)
  199.     (if tool-pair
  200.         (fill_image 0 0 (dimx_tile key) (dimy_tile key) 123) ; 有工具:蓝色背景
  201.         (fill_image 0 0 (dimx_tile key) (dimy_tile key) 8) ; 无工具:灰色背景
  202.     )
  203.     (end_image)
  204.     (set_tile key tool-name) ; 设置按钮文字
  205.    
  206.     ;; 启用或禁用按钮
  207.     (if tool-pair
  208.         (mode_tile key 0) ; 启用
  209.         (mode_tile key 1) ; 禁用
  210.     )
  211.    
  212.     ;; 设置按钮动作 - 执行命令后关闭对话框
  213.     (yanshengjiangimage)
  214.     (action_tile key
  215.       (if tool-pair
  216.           (strcat
  217.             "(progn "
  218.             "(execute-tool-command \"" group-code "\" " (itoa n) ") "
  219.             "(done_dialog 2)" ; 执行命令后关闭对话框
  220.             ")"
  221.           )
  222.           "" ; 空动作
  223.       )
  224.     )
  225.   )
  226.   
  227.   ;; 更新分类按钮高亮
  228.   (foreach group *tool-database*
  229.     (setq key (strcat "group" (car group)))
  230.     (setq label (cadr group))
  231.    
  232.     (if (eq (car group) group-code)
  233.       (progn
  234.         (mode_tile key 2) ; 当前组高亮显示
  235.         (set_tile key label)
  236.       )
  237.       (progn
  238.         (mode_tile key 0) ; 其他组正常显示
  239.         (set_tile key label)
  240.       )
  241.     )
  242.   )
  243.   
  244.   (setq current-group group-code)
  245. )

  246. (defun execute-tool-command (group-code btn-num / cmd acad doc result)
  247.   (if (setq cmd (get-tool-command group-code btn-num))
  248.     (progn
  249.       (princ (strcat "\n执行命令: " cmd))
  250.       
  251.       ;; 使用更安全的命令执行方式,避免ARX异常
  252.       (if (safe-execute-command cmd)
  253.         (princ "\n命令执行成功")
  254.         (alert "命令执行失败,请检查命令是否存在")
  255.       )
  256.     )
  257.     (alert "无效命令")
  258.   )
  259. )

  260. ;; 安全执行命令函数,避免ARX异常
  261. (defun safe-execute-command (cmd / acad doc result)
  262.   (setq acad (vlax-get-acad-object))
  263.   (setq doc (vla-get-ActiveDocument acad))
  264.   
  265.   ;; 使用错误处理避免ARX异常
  266.   (setq result (vl-catch-all-apply 'vla-SendCommand (list doc (strcat cmd "\n"))))
  267.   
  268.   (if (vl-catch-all-error-p result)
  269.     (progn
  270.       (princ (strcat "\n命令执行错误: " (vl-catch-all-error-message result)))
  271.       nil ; 返回nil表示执行失败
  272.     )
  273.     T ; 返回T表示执行成功
  274.   )
  275. )

  276. (defun get-tool-command (group-code btn-num / group tools tool-pair)
  277.   (if (and (setq group (assoc group-code *tool-database*))
  278.            (setq tools (caddr group))
  279.            (< (1- btn-num) (length tools)))
  280.     (cadr (nth (1- btn-num) tools)) ; 获取命令字符串
  281.     nil
  282.   )
  283. )

  284. (defun number-list (start end)
  285.   (if (> start end)
  286.       nil
  287.       (cons start (number-list (1+ start) end))
  288.   )
  289. )

  290. (princ "\n工具箱命令 TB 已加载,输入 TB 启动")
  291. (princ)


  292. (defun yanshengjiangimage()
  293. ;; 初始化图像控件
  294. (start_image "yan_image")

  295. ;; 调整画布尺寸以适应11个字母
  296. (fill_image 0 0 188 30 9) ; 宽度增加到88像素

  297. ;; 绘制简洁边框
  298. (vector_image 5 5 183 5 5) ; 上边框 (蓝色)
  299. (vector_image 183 5 183 25 5) ; 右边框 (蓝色)
  300. (vector_image 183 25 5 25 5) ; 下边框 (蓝色)
  301. (vector_image 5 25 5 5 5) ; 左边框 (蓝色)

  302. ;; ===== 绘制YANSHENGJIANG =====
  303. ;; 每个字母间隔7像素,使用三层绘制效果

  304. ;; Y (x=10)
  305. (vector_image 12 7 17 13 4) ; 阴影
  306. (vector_image 22 7 17 13 4)
  307. (vector_image 17 13 17 20 4)
  308. (vector_image 13 8 18 14 1) ; 加粗
  309. (vector_image 23 8 18 14 1)
  310. (vector_image 18 14 18 21 1)
  311. (vector_image 12 7 17 13 1) ; 原始
  312. (vector_image 22 7 17 13 1)
  313. (vector_image 17 13 17 20 1)

  314. ;; A (x=24)
  315. (vector_image 25 20 30 7 4)
  316. (vector_image 30 7 35 20 4)
  317. (vector_image 27 13 33 13 4)
  318. (vector_image 26 21 31 8 1)
  319. (vector_image 31 8 36 21 1)
  320. (vector_image 28 14 34 14 1)
  321. (vector_image 25 20 30 7 1)
  322. (vector_image 30 7 35 20 1)
  323. (vector_image 27 13 33 13 1)

  324. ;; N (x=38)
  325. (vector_image 38 20 38 7 4)
  326. (vector_image 38 7 48 20 4)
  327. (vector_image 48 20 48 7 4)
  328. (vector_image 39 21 39 8 1)
  329. (vector_image 39 8 49 21 1)
  330. (vector_image 49 21 49 8 1)
  331. (vector_image 38 20 38 7 1)
  332. (vector_image 38 7 48 20 1)
  333. (vector_image 48 20 48 7 1)

  334. ;; S (x=52)
  335. (vector_image 52 7 62 7 4)
  336. (vector_image 52 7 52 13 4)
  337. (vector_image 52 13 62 13 4)
  338. (vector_image 62 13 62 20 4)
  339. (vector_image 52 20 62 20 4)
  340. (vector_image 53 8 63 8 1)
  341. (vector_image 53 8 53 14 1)
  342. (vector_image 53 14 63 14 1)
  343. (vector_image 63 14 63 21 1)
  344. (vector_image 53 21 63 21 1)
  345. (vector_image 52 7 62 7 1)
  346. (vector_image 52 7 52 13 1)
  347. (vector_image 52 13 62 13 1)
  348. (vector_image 62 13 62 20 1)
  349. (vector_image 52 20 62 20 1)

  350. ;; H (x=66)
  351. (vector_image 66 7 66 20 4)
  352. (vector_image 66 13 76 13 4)
  353. (vector_image 76 7 76 20 4)
  354. (vector_image 67 8 67 21 1)
  355. (vector_image 67 14 77 14 1)
  356. (vector_image 77 8 77 21 1)
  357. (vector_image 66 7 66 20 1)
  358. (vector_image 66 13 76 13 1)
  359. (vector_image 76 7 76 20 1)

  360. ;; E (x=80)
  361. (vector_image 80 7 90 7 4)
  362. (vector_image 80 7 80 20 4)
  363. (vector_image 80 13 87 13 4)
  364. (vector_image 80 20 90 20 4)
  365. (vector_image 81 8 91 8 1)
  366. (vector_image 81 8 81 21 1)
  367. (vector_image 81 14 88 14 1)
  368. (vector_image 81 21 91 21 1)
  369. (vector_image 80 7 90 7 1)
  370. (vector_image 80 7 80 20 1)
  371. (vector_image 80 13 87 13 1)
  372. (vector_image 80 20 90 20 1)

  373. ;; N (x=94)
  374. (vector_image 94 20 94 7 4)
  375. (vector_image 94 7 104 20 4)
  376. (vector_image 104 20 104 7 4)
  377. (vector_image 95 21 95 8 1)
  378. (vector_image 95 8 105 21 1)
  379. (vector_image 105 21 105 8 1)
  380. (vector_image 94 20 94 7 1)
  381. (vector_image 94 7 104 20 1)
  382. (vector_image 104 20 104 7 1)

  383. ;; G (x=108)
  384. (vector_image 108 7 118 7 4)
  385. (vector_image 108 7 108 20 4)
  386. (vector_image 108 20 118 20 4)
  387. (vector_image 118 20 118 13 4)
  388. (vector_image 113 13 118 13 4)
  389. (vector_image 109 8 119 8 1)
  390. (vector_image 109 8 109 21 1)
  391. (vector_image 109 21 119 21 1)
  392. (vector_image 119 21 119 14 1)
  393. (vector_image 114 14 119 14 1)
  394. (vector_image 108 7 118 7 1)
  395. (vector_image 108 7 108 20 1)
  396. (vector_image 108 20 118 20 1)
  397. (vector_image 118 20 118 13 1)
  398. (vector_image 113 13 118 13 1)

  399. ;; J (x=122)
  400. (vector_image 122 7 132 7 4)
  401. (vector_image 132 7 132 17 4)
  402. (vector_image 122 20 132 17 4)
  403. (vector_image 119 20 122 20 4)
  404. (vector_image 123 8 133 8 1)
  405. (vector_image 133 8 133 18 1)
  406. (vector_image 123 21 133 18 1)
  407. (vector_image 120 21 123 21 1)
  408. (vector_image 122 7 132 7 1)
  409. (vector_image 132 7 132 17 1)
  410. (vector_image 122 20 132 17 1)
  411. (vector_image 119 20 122 20 1)

  412. ;; I (x=136)
  413. (vector_image 136 7 136 20 4)
  414. (vector_image 137 8 137 21 1)
  415. (vector_image 136 7 136 20 1)

  416. ;; A (x=140)
  417. (vector_image 140 20 145 7 4)
  418. (vector_image 145 7 150 20 4)
  419. (vector_image 142 13 148 13 4)
  420. (vector_image 141 21 146 8 1)
  421. (vector_image 146 8 151 21 1)
  422. (vector_image 143 14 149 14 1)
  423. (vector_image 140 20 145 7 1)
  424. (vector_image 145 7 150 20 1)
  425. (vector_image 142 13 148 13 1)

  426. ;; N (x=154)
  427. (vector_image 154 20 154 7 4)
  428. (vector_image 154 7 164 20 4)
  429. (vector_image 164 20 164 7 4)
  430. (vector_image 155 21 155 8 1)
  431. (vector_image 155 8 165 21 1)
  432. (vector_image 165 21 165 8 1)
  433. (vector_image 154 20 154 7 1)
  434. (vector_image 154 7 164 20 1)
  435. (vector_image 164 20 164 7 1)

  436. ;; G (x=168)
  437. (vector_image 168 7 178 7 4)
  438. (vector_image 168 7 168 20 4)
  439. (vector_image 168 20 178 20 4)
  440. (vector_image 178 20 178 13 4)
  441. (vector_image 173 13 178 13 4)
  442. (vector_image 169 8 179 8 1)
  443. (vector_image 169 8 169 21 1)
  444. (vector_image 169 21 179 21 1)
  445. (vector_image 179 21 179 14 1)
  446. (vector_image 174 14 179 14 1)
  447. (vector_image 168 7 178 7 1)
  448. (vector_image 168 7 168 20 1)
  449. (vector_image 168 20 178 20 1)
  450. (vector_image 178 20 178 13 1)
  451. (vector_image 173 13 178 13 1)
  452. (end_image)
  453.   )


网友答: 如果用普通的button,切换分组时因为按钮上文本内容要变,就需要关闭DCL再重新打开以实现更新,所以会闪一下,改用image_button就可以硬写文字更新,不用闪

网友答: 本帖最后由 yanshengjiang 于 2025-10-10 00:34 编辑

随便修改。

网友答: 本帖最后由 kozmosovia 于 2025-10-10 22:06 编辑
sachindkini 发表于 2025-10-10 20:59
how to vector image can you share  image to vector lsp

Can use Lee-mac's GrtextDialog to draw English text on DCL
https://lee-mac.com/grtext.html

Chinese characters can be built on-fly, such as ButtonTextMenu:
http://bbs.mjtd.com/thread-192920-1-1.html





网友答:
cghdy 发表于 2025-10-10 09:18
text、edit_box也不闪吧

那个不闪也没有用,text无法定义动作函数,无法实现点取执行命令;edit_box是文本输入框,结果点取它后不是编辑文字而是关闭对话框执行个命令,从使用习惯上,怪怪的。

网友答: 这个不闪屏的好

网友答: 好厉害 下载研究看看

网友答: 弱弱的问一下 什么闪屏?

网友答: 类似这种快捷键的设置可以有吗?

网友答:
yaokui25 发表于 2025-10-9 21:29
类似这种快捷键的设置可以有吗?

不需要切换界面,可以直接定义快捷键,如果要切换界面还支持快捷键,那就只有闪一下的方式。

网友答: 楼主很给力!

网友答:
yaokui25 发表于 2025-10-9 21:29
类似这种快捷键的设置可以有吗?

不知道呢  你这是普通dcl吗  好屌
  • 上一篇:没有了
  • 下一篇:没有了