明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2700|回复: 12

[提问] 怎么让这个对话延时3秒钟后自动关闭

[复制链接]
发表于 2014-8-8 10:06 | 显示全部楼层 |阅读模式
(defun s::startup()
   (if (= (rem(fix(getvar"DATE")) 7) 4) (alert "今天星期五了\n完成了吗!"))
)


如题,上面的对话框是加载在CAD的启动文件中,目的是在打开CAD时,每逢周五会自动弹出一个对话框,我想让周五弹出这个对话后,延时3秒钟后能自动关闭,如何实现,谢高人指点!
"觉得好,就打赏"
还没有人打赏,支持一下

本帖被以下淘专辑推荐:

发表于 2021-7-17 08:09 | 显示全部楼层
gcho 发表于 2014-8-8 10:33
谢谢wowan1314的lisp程序,我用你的程序试验成功了,非常感谢!
我还想对这个字符串进行升华一下:
1、 ...

关键是,返回的语句显示在哪里?能显示在屏幕上就好了
发表于 2019-4-20 18:08 | 显示全部楼层
love1030312 发表于 2014-8-8 11:16
试验成功    但是为什么把程序放在AP启动项自动加载的时候,  显示但不自动关闭呢 求解

love1030312 兄弟,这个问题解决了吗?
发表于 2019-4-20 18:09 | 显示全部楼层
llsheng_73 发表于 2014-9-7 11:05
加了一个title参数作为消息窗口的标题

73哥,为什么不能在指定时间内关闭呢?
发表于 2014-8-8 10:11 | 显示全部楼层
本帖最后由 Gu_xl 于 2014-8-8 10:13 编辑

mc_PopupBox 弹出可定时自动关闭的消息窗口
发表于 2014-8-8 10:14 | 显示全部楼层
我只是明经的搬运工!

  1. (defun AlertX (String nSeconds / WSH RetVal)
  2.   (setq WSH (vlax-create-object "WScript.shell"))
  3.   (setq RetVal (vl-catch-all-apply 'vlax-invoke-method (list WSH 'Popup String nSeconds "" 48)))
  4.   (if (vl-catch-all-error-p RetVal)
  5.     (alert String)
  6.     (vlax-release-object WSH)
  7.   )
  8.   RetVal
  9. )
  10. 我写了上面一个alertx函数,
  11. 函数名:AlertX
  12. 参数1:字符串;参数2:超时秒数(整数)
  13. 返回值:1(点击了确定),-1 (超时)
  14. 示例:(alertx "test123" 2)
 楼主| 发表于 2014-8-8 10:29 | 显示全部楼层
Gu_xl 发表于 2014-8-8 10:11
见 mc_PopupBox 弹出可定时自动关闭的消息窗口

谢谢Gu_xl版主提供的VBA参考资料,对VBA是一点都不会,还是感谢你!
 楼主| 发表于 2014-8-8 10:33 | 显示全部楼层
wowan1314 发表于 2014-8-8 10:14
我只是明经的搬运工!

谢谢wowan1314的lisp程序,我用你的程序试验成功了,非常感谢!
我还想对这个字符串进行升华一下:
1、系统时间是周一至周四时,从一个已经做好的txt文档中随机返回一句名言警句;
2、系统时间是周五时,只弹出“今天星期五了\n完成了吗”这个对话框。
能办到吗?

点评

我觉的可以! 想搞就去搞。。  发表于 2014-8-8 10:41
发表于 2014-8-8 11:16 | 显示全部楼层
wowan1314 发表于 2014-8-8 10:14
我只是明经的搬运工!

试验成功    但是为什么把程序放在AP启动项自动加载的时候,  显示但不自动关闭呢 求解
 楼主| 发表于 2014-8-11 11:07 | 显示全部楼层
love1030312 发表于 2014-8-8 11:16
试验成功    但是为什么把程序放在AP启动项自动加载的时候,  显示但不自动关闭呢 求解

你估计没把 AlertX函数放在程序前面吧!
发表于 2014-9-7 11:05 | 显示全部楼层
wowan1314 发表于 2014-8-8 10:14
我只是明经的搬运工!

  1. (defun AlertX (TITLE String nSeconds / WSH RetVal)
  2.   (setq WSH (vlax-create-object "WScript.shell"))
  3.   (setq RetVal (vl-catch-all-apply 'vlax-invoke-method (list WSH 'Popup String nSeconds TITLE 48)))
  4.   (if (vl-catch-all-error-p RetVal)
  5.     (alert String)
  6.     (vlax-release-object WSH)
  7.   )
  8.   RetVal)

加了一个title参数作为消息窗口的标题
发表于 2018-12-31 12:34 | 显示全部楼层
很好以后可以用上
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-26 11:24 , Processed in 0.183302 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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