| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6195 人关注过本帖, 1 人收藏
标题:[求助]如何让一个msgbox提示框显示三秒后不用手动点确定自动消失?
取消只看楼主 加入收藏
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
结帖率:66.67%
收藏(1)
 问题点数:0 回复次数:3 
[求助]如何让一个msgbox提示框显示三秒后不用手动点确定自动消失?
或者我自己做个窗体当msgbox提示框!!

怎么让他显示三秒后自动消失?
搜索更多相关主题的帖子: msgbox 提示 自动 
2007-08-05 22:51
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用心中有剑在2007-8-6 9:04:17的发言:

Option Explicit

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) _
As Long

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
(ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) _
As Long

Private Const WM_CLOSE = &H10
Private Const MsgTitle As String = "3秒自动消失"
Private Sub Command1_Click()
Dim msg As String
Timer1.Enabled = True
If Compiled Then

msg = "将会消失在 3 秒后。"

Else

msg = "将会消失在 3秒后," & vbCrLf & "必须编译后才能看见效果。"

End If

MsgBox msg, vbOKOnly, MsgTitle
Timer1.Enabled = False
End Sub

Private Sub Form_Load()
Timer1.Interval = 1000
Timer1.Enabled = False
End Sub

Private Sub Timer1_Timer()

Dim hWnd As Long

hWnd = FindWindow(vbNullString, MsgTitle)
Call SendMessage(hWnd, WM_CLOSE, 0, ByVal 0&)

End Sub
Private Function Compiled() As Boolean

On Error GoTo NotCompiled

Debug.Print 1 / 0

Compiled = True

NotCompiled:

End Function
这个必须编译后才可以用的啊

全程编译吗?


生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-08-06 09:51
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用心中有剑在2007-8-6 9:54:53的发言:

你运行就知道了!直接生成exe就可以了!

我试了

除了vbAbortRetryIgnore和vbYesNo之外其他的都可以在设定的时间到时消失

这2个为什么不行


生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-08-06 11:22
红影
Rank: 1
等 级:新手上路
威 望:2
帖 子:659
专家分:0
注 册:2006-2-22
收藏
得分:0 
以下是引用团囝在2007-8-7 21:37:09的发言:
Private Sub Command1_Click()
' this shows a messagebox that will be dismissed after 4 seconds

' set the callback timer and pass our application defined ID (NV_CLOSEMSGBOX)
' set the time for 3 seconds (3000& microseconds)
SetTimer hWnd, NV_CLOSEMSGBOX, 3000&, AddressOf TimerProc

' call the messagebox API function
Call MessageBox(hWnd, "显示四秒后自动关闭的MsgBox对话框,爽吧?", _
"Self Closing Message Box", MB_ICONQUESTION Or MB_TASKMODAL)

End Sub



我就是把TOFORN的那个的4改成了2,就是2秒后自动关的了...

学习了!


生命中,不断有人离开和进入。于是,看见的,看不见了;记住的,遗忘了。
2007-08-08 09:22
快速回复:[求助]如何让一个msgbox提示框显示三秒后不用手动点确定自动消失?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021726 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved