安徽彩票大奖 欧洲百万乐透大奖 七星彩17049规律大奖 双色球中大奖领奖过程 3d近期中大奖故事 广州番禺中福彩大奖的 鸡男注定会中大奖 2016江苏彩民中大奖 趣彩网大奖网黑平台 大乐透4.97亿大奖 霍邱一彩民6元中双色球547万大奖 双色球黑龙江中大奖图 体育彩票中大奖名单 什么样的人能中大奖 彩票大奖作假

能够定时自动关闭的Msgbox消息对话框

2017-09-21 08:40:00
zstmtony
原创
1449
在Access VBA或Excel VBA中如何自动关闭弹出的消息框(即定时消失)
经过研究和测试,可以通过 API函数MessageBoxTimeout,可控制消息框自动关闭

这个API 函数就是 MessageBoxTimeOut函数(注意Windows 2000没有这个函数,必须在Windows XP及以上操作系统才有):


API MessageBoxTimeOut函数原型如下:


Private Declare Function MessageBoxTimeout Lib "user32" Alias "MessageBoxTimeoutA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long, ByVal wlange As Long, ByVal dwTimeout As Long) As Long



参数说明:


    .参数 hwnd, 整数型, , 窗口句柄  
    .参数 lpText, 文本型, , 消息框内容  
    .参数 lpCaption, 文本型, , 消息框标题  
    .参数 uType, 整数型, , 消息框按钮类型,确?#20064;?#38062;、重试按钮之类  
    .参数 wlange, 整数型, , ?#35805;?#20026;0,语言ID  
    .参数 dwTimeout, 整数型, , 延迟的时间 ,以毫秒为单位  


参数详细具体说明:

‘Office交流网整理


hwnd:窗口句柄
lpText:弹出消息框的内容
lpCaption:弹出消息框的标题
uType:按钮类型,以下给出常量,可相加,每组只能取一个类型,第五组除外

第一组(描述对话框中显示按钮的类型与数目):
0、#确认钮; 1、#确认取消钮; 2、#放弃重试忽略钮; 3、#取消是否钮;     4、#是否钮; 5、#重试取消钮
第二组(描述图标的样式):
16、#错误图标; 32、#询问图标; 48、#警告图标; 64、#信息图标
第三组(说明哪一个按钮是缺省默认值):
0、#默?#20064;?#38062;一; 256、#默?#20064;?#38062;二; 512、#默?#20064;?#38062;三; 768、#默?#20064;?#38062;四
第四组(决定如何等待消息框结束):
0、#程序等待; 4096、#系统等待
第五组(其它):
65536、#位于前台; 524288、#文本右对齐

wLanguageId:语言ID,默认写0就可以了
dwMilliseconds:等待时间,单位为毫秒,3秒后关闭就写3000

Tmtony测试后特别说明:

1.参数说明:父窗口的句柄为NULL的情况下,将弹出非模态对话框;延时关闭的时间为0的情况下,弹出的MessageBox需要手动关闭

2.这个是微软未文档化的MessageBoxTimeout函数,可以延时自动关闭自身弹出的MessageBox对话框,但微软将来是否继续支持,不得而知

3.需要指出的是,Windows 2000的user32.dll没有导出这个函数。

4. dwTimeout:等待时间,单位为毫秒,3 秒后关闭就写 3000

分享
? 1999-2019 Office交流网?? 中山市天鸣科技发展有限公司 粤ICP备10043721号-5 SQL查询:19
内存占用:7.75MB
PHP 执行时间:0.21
双色球大奖2000年
安徽彩票大奖 欧洲百万乐透大奖 七星彩17049规律大奖 双色球中大奖领奖过程 3d近期中大奖故事 广州番禺中福彩大奖的 鸡男注定会中大奖 2016江苏彩民中大奖 趣彩网大奖网黑平台 大乐透4.97亿大奖 霍邱一彩民6元中双色球547万大奖 双色球黑龙江中大奖图 体育彩票中大奖名单 什么样的人能中大奖 彩票大奖作假
埃瓦尔vs皇马视频 森林舞会手绘画 英魂之刃手游吧吧 那不勒斯亚特兰大 山东鲁能队与鹿岛鹿角 阿瓦隆2游戏玩法 巴黎圣日耳曼昂热直播 ac米兰各赛季队服 阿尔萨德赛程 全黄金翅膀