| 发表于:2007-05-22 08:14:354楼 得分:0 |
如何设定 msgbox 在若干时间之后若无回应则自动关闭? 使用系统的 msgbox 再加一个 timer 就可以控制了。 '在窗体的声明区中加入以下的声明 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 注意:此方法的限制说明: 1、当常数设定为 vbabortretryignore 或 vbyesno 时,无效! 2、在 design time 时,无效,必须 make exe 之后才有效! | | |
|