可以有很多不同的图示,不同的按钮,其中控制按钮的部份,可以设定的常数如下:
常数 值 说明
vbOKOnly 0 只显示 OK 按钮。
VbOKCancel 1 显示 OK 及 Cancel 按钮。
VbAbortRetryIgnore 2 显示 Abort、 Retry 及 Ignore 按钮。
VbYesNoCancel 3 显示 Yes、No 及 Cancel 按钮。
VbYesNo 4 显示 Yes 及 No 按钮。
VbRetryCancel 5 显示 Retry 及 Cancel 按钮。
为什么要特别提到 MsgBox 的常数呢?因为下面我们要告诉您的方法,还是有一点点限制的!当您设定的常数是 VbAbortRetryIgnore 或 VbYesNo 时,下面的方法也是没用的!
'在表单的声明区中加入以下的声明
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 = "Test Message"
'在表单中加入一个 CommandButton 及一个 Timer 控制项,加入以下程序码:
Private Sub Command1_Click()
Dim nRet As Long
Timer1.Interval = 3000
Timer1.Enabled = True
nRet = MsgBox("若您不回应的话,3 秒后此 MsgBox 会自动关闭", 64, MsgTitle)
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
好了,很简
单吧!您执行程序时,当 MsgBox 出现 3 秒之后,就会自动关闭了!
注意:此方法的限制说明:
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新工程科技检测打印机待打印文档(5)全文阅读和word下载服务。
相关推荐: