明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6488|回复: 18

[源码] 输入对话框.lsp

  [复制链接]
发表于 2013-10-10 10:20:45 | 显示全部楼层 |阅读模式
  1. ;;我写了<钢板重量计算器>http://bbs.mjtd.com/thread-107027-1-1.html,为了显示重量,便于拷贝,写了
  2. ;;一个对话框,newer版主曰,用OpenDcl,可惜我不会。用下面的代码也倒是一个简单办法
  3. ;;示例(HH:InputBox "5.3")
  4. (defun HH:InputBox (weight / STR)
  5.   (setq str (VL-PRIN1-TO-STRING weight))
  6.   (setq str (strcat "dim ret \n ret=InputBox(\"显示重量,便于拷贝\",\"重量显示\"," str ") "))  
  7.   (or *wscript*
  8.       (setq *wscript* (vlax-create-object "ScriptControl"))
  9.   )
  10.   (vlax-put *wscript* 'language "vbs")
  11.   (vlax-invoke-method *wscript* 'ExecuteStatement str)
  12.   (vlax-invoke-method *wscript* 'eval "ret")
  13. )

本帖子中包含更多资源

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

x

评分

参与人数 1明经币 +1 收起 理由
urings + 1 很给力!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2018-8-27 23:23:33 | 显示全部楼层
阿然 发表于 2013-10-10 11:02
黄兄这些天卖力为大家写了这么多好函数,我也来凑个热闹

感谢分享         
发表于 2018-8-27 23:22:52 | 显示全部楼层
阿然 发表于 2013-10-10 11:02
黄兄这些天卖力为大家写了这么多好函数,我也来凑个热闹

感谢分享         
发表于 2018-8-27 23:21:49 | 显示全部楼层
感谢分享        
发表于 2013-10-10 11:02:51 | 显示全部楼层
本帖最后由 阿然 于 2013-10-10 11:05 编辑

黄兄这些天卖力为大家写了这么多好函数,我也来凑个热闹
  1. ;;;调用vb输入框 by Xran
  2. ;;;promptstr 提示信息
  3. ;;;title 窗体标题栏信息
  4. ;;;default 缺省值
  5. (defun inputbox (promptstr title default)
  6.   (vla-eval (vlax-get-acad-object)
  7.       (strcat "ThisDrawing.setVariable \"USERS5\",inputBox (\""
  8.         promptstr
  9.         "\", \""
  10.         title
  11.         "\", \""
  12.         default
  13.         "\")"
  14.        )
  15.   )
  16.   (getvar "users5")
  17. )

评分

参与人数 1明经币 +1 收起 理由
自贡黄明儒 + 1 很给力!

查看全部评分

 楼主| 发表于 2013-10-10 11:09:42 | 显示全部楼层
阿然 发表于 2013-10-10 11:02
黄兄这些天卖力为大家写了这么多好函数,我也来凑个热闹

你这个还真不错
发表于 2013-10-10 11:25:05 | 显示全部楼层
谢谢黄兄,同理还有消息对话框
  1. ;;;调用vb里的msgbox by Xran
  2. ;;;参数均为字符串
  3. ;;;buttons取值
  4. ;;;vbAbortRetryIgnore
  5. ;;;vbApplicationModal
  6. ;;;vbCritical
  7. ;;;vbDefaultButton1
  8. ;;;vbDefaultButton2
  9. ;;;vbDefaultButton3
  10. ;;;vbDefaultButton4
  11. ;;;vbExclamation
  12. ;;;vbInformation
  13. ;;;vbMsgBoxHelpButton
  14. ;;;vbMsgBoxRight
  15. ;;;vbMsgBoxRtlReading
  16. ;;;vbMsgBoxSetForeground
  17. ;;;vbOKCancel
  18. ;;;vbOKOnly
  19. ;;;vbQuestion
  20. ;;;vbRetryCancel
  21. ;;;vbSystemModal
  22. ;;;vbYesNo
  23. ;;;vbYesNoCancel
  24. ;;;可以使用类似vbokcancel+vbinformation的字符串作为buttons的值
  25. (defun msgbox (promptstr buttons title)
  26.   (vla-eval (vlax-get-acad-object)
  27.             (strcat "ThisDrawing.setVariable \"USERI5\",MsgBox (\""
  28.                     promptstr
  29.                     "\", "
  30.                     buttons
  31.                     ", \""
  32.                     title
  33.                     "\")"
  34.                    )
  35.   )
  36.   (getvar "useri5")
  37. )
发表于 2013-10-10 13:43:30 | 显示全部楼层
同高手们学习,日有所长。。。
历史的荣誉榜有你们的伟名。
发表于 2013-10-10 14:11:42 | 显示全部楼层
好像明总也写过

点评

你说的是明总写的那个自动隐藏的对话框吧?  发表于 2013-10-10 14:24
发表于 2013-10-11 09:04:50 | 显示全部楼层
4楼程序运行出错

错误: Automation 错误。
 楼主| 发表于 2013-10-11 10:08:11 | 显示全部楼层
本帖最后由 自贡黄明儒 于 2013-10-11 10:09 编辑
crtrccrt 发表于 2013-10-11 09:04
4楼程序运行出错

错误: Automation 错误。


应该没错,你要注册"MSComDlg.CommonDialog"才能用
(vl-registry-write
    "HKEY_CLASSES_ROOT\\LICENSES\\4d553650-6abe-11cf-8adb-00aa00c00905"
    ""
    "gfjmrfkfifkmkfffrlmmgmhmnlulkmfmqkqj"
  )
发表于 2013-10-11 14:14:53 | 显示全部楼层
注册了
还是运行错误

点评

注册后重启cad  发表于 2013-10-11 14:17
发表于 2013-10-13 10:53:10 | 显示全部楼层
简单的事情简单弄  (princ “重量”) 就可以在cad命令栏拷贝 了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-19 06:34 , Processed in 0.228162 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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