明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 984|回复: 17

[源码] 通过独立界面输入多行文本

  [复制链接]
发表于 2024-8-13 16:24:59 | 显示全部楼层 |阅读模式
本帖最后由 kozmosovia 于 2024-8-14 16:01 编辑

在DCL中可以输入文本,但DCL只支持单行,如果要输入多行文本,就只能叠加edit_box。这当然不方便。
偶然在翻CAD帮助时,发现一个从来没注意到过函数showhtmlmodalwindow,这个函数可以展示一个网址。
那么我们可以将多行文本的输入做成一个html,然后再通过这个函数展示它,在html中,可以设置电取OK按钮将输入内容复制到剪贴板。从而实现多行文本的界面输入。
可以将附件解压的html保存在磁盘,比如d:\\abcd目录下,然后在CAD中调用(showhtmlmodalwindow "file://d:/abcd/mltext.html"),就可以看到多行文本的输入界面并进行输入,结束后点取OK,输入的内容将会被复制到剪贴板。后面就可以使用读取剪贴板的代码读取或者直接Ctrl+v获取。

这个函数好像在某些CAD版本上无法正常显示网页内容,应该算是CAD的bug。不过估计全球也没几个人用这个函数,桌子肯定不去修。

标题和提示语,可以自行修改html中相应位置的内容,保存时保持时UTF-8编码

本帖子中包含更多资源

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

x

点评

最好用ANSI格式  发表于 2024-8-22 23:49

评分

参与人数 1明经币 +3 收起 理由
xyp1964 + 3 赞一个!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2024-8-14 09:37:20 | 显示全部楼层
本帖最后由 kozmosovia 于 2024-8-14 10:16 编辑
菜卷鱼 发表于 2024-8-14 09:31
有意思,假如是独立的Html文件,就不用这么高端了
可以这样
(startapp "C:\\Program Files\\Google\\Chrom ...

你没有get到这个功能的要点,单纯在浏览器运行html,那么与CAD内的操作是并行的,而且需要切换来切换去。使用函数窗口,因为窗口是模态的,会独占CAD,在CAD界面等待用户输入操作,跟DCL一样。用户输入结束,程序可以继续运行。这就相当于补充了一个获取多行文本输入的功能给DCL。类似于使用ActiveX补充一些原本CAD没有的功能。以后需要输入多行内容时,可以使用这个,然后读取剪贴板获取用户输入内容。就不用做好多个edit_box了。
 楼主| 发表于 2024-8-13 18:48:43 | 显示全部楼层
tryhi 发表于 2024-8-13 18:18
浏览器可以打开

那估计是html前端定位可能飞出去了,这个函数的窗口是固定大小,所以html需要适配其大小才能在窗口范围内看到。这个html是AI写的,是自动居中的,你可以试一下将浏览器窗口调到差不多函数窗口大小,看html的显示。或者调整一下html里面的高度和宽度的px数值
 楼主| 发表于 2024-8-13 18:43:28 | 显示全部楼层
本帖最后由 kozmosovia 于 2024-8-13 18:44 编辑
tryhi 发表于 2024-8-13 17:57(showhtmlmodalwindow "file://C:/Users/tryhi/Desktop/mltext.html")

showhtmlmodalwindow 这是哪 ...

2014,估计当时为了能与JavaScript二开对接的。

https://help.autodesk.com/view/A ... C-8136-80E85CCEDF3E
发表于 2024-8-13 17:38:57 | 显示全部楼层
CAD2014 64位,点击按钮没反应。
发表于 2024-8-13 17:57:22 | 显示全部楼层
本帖最后由 tryhi 于 2024-8-13 18:04 编辑

  • (showhtmlmodalwindow "file://C:/Users/tryhi/Desktop/mltext.html")

showhtmlmodalwindow 这是哪个版本才有的函数,2007没有,2018试了一下显示空白

点评

2020可以  发表于 2024-8-14 08:24
 楼主| 发表于 2024-8-13 17:59:10 | 显示全部楼层
直接用浏览器打开html试试。
发表于 2024-8-13 18:03:17 来自手机 | 显示全部楼层
tryhi 发表于 2024-8-13 17:57
showhtmlmodalwindow 这是哪个版本才有的函数,2007没有,2018试了一下没有显示出来

那就是19 了,19 亮显了
发表于 2024-8-13 18:18:30 | 显示全部楼层
kozmosovia 发表于 2024-8-13 17:59
直接用浏览器打开html试试。

浏览器可以打开
发表于 2024-8-14 09:31:50 | 显示全部楼层
有意思,假如是独立的Html文件,就不用这么高端了
可以这样
(startapp "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" "d://mltext.html")
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 08:32 , Processed in 0.754275 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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