您的位置:程序门 -> vb -> 基础类



请教:msgbox提示对话框问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


请教:msgbox提示对话框问题
发表于:2007-05-21 23:35:05 楼主
msgbox提示对话框问题:
请问可不可以出现如下情况:
      当出现提示框:不出现按钮的.
      这样就不用鼠标点击按钮.
      过一阵后,对话框就可以自动消失..

不过可不可以用msgbox实现.
  或者有没有其它实现的办法?
麻烦解答一下...
发表于:2007-05-21 23:40:431楼 得分:0
用窗体模拟
新建窗体form2,设置bordersytle=3
放一个标签,写上你的提示信息
放一个timer,设置interval为5秒

主窗体(form1)代码:
private   sub   command1_click()
        form2.show   vbmodal
end   sub

form2代码:
private   sub   timer1_timer()
        unload   me
end   sub
发表于:2007-05-22 07:07:312楼 得分:0
可以,这要用到timer控件,然后把代码写到timer控件中。
发表于:2007-05-22 07:26:483楼 得分:0
2楼办法得解
发表于: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   之后才有效!
发表于:2007-05-22 09:24:135楼 得分:0
用二楼的方法实现比较好。做一个模拟对话框,加一个timer控件
发表于:2007-05-22 09:58:286楼 得分:0
自己写一个了。
发表于:2007-05-22 10:13:137楼 得分:0
这种效果自己设计比较好


快速检索

最新资讯
热门点击