在打开有模式窗体后还能"显示"无模式窗体
来源:互联网 发布:手机隧道测量软件 编辑:程序博客网 时间:2024/05/19 22:06
原来写的一个显示等待窗口的过程,现在用不成了,因为我几乎所有的窗口 都改成了有模式的,即用 .show 1来调用,结果以前的过程用不成了,因为调用等待窗口不能用模式的,否则就真一直等下去了。
在google查了好久,也发贴问了,都没有很好的答案,结果我想了又想终于让我想出一个好办法来:
那就是,即然显示了 模式 窗口后就不能再显示无模式窗口,那么,我先显示那个无模式窗口不就结了!!
于是开始动手
Public Sub MsgWinShow(ByVal msg As String, Optional WaitSec As Integer)
Dim w, h, l, t
Load frmMsgWin
frmMsgWin.lblMsg.Caption = msg
With frmMsgWin
SetWindowPos .hwnd, HWND_TOPMOST, 0, 0, 0, 0, Flag
h = .lblMsg.Height + 15 * 40
w = .lblMsg.Width + 15 * 60
l = (Screen.Width - w) / 2
t = (Screen.Height - h) / 2
.Move l, t, w, h
.lblMsg.Left = Int(.ScaleWidth - .lblMsg.Width) / 2
.lblMsg.Top = Int(.ScaleHeight - .lblMsg.Height) / 2
End With
frmMsgWin.MouseP = Screen.MousePointer
Screen.MousePointer = vbHourglass
DoEvents
If WaitSec > 0 Then
Delay WaitSec * 1000
Call MsgWinHide
End If
Exit Sub
End Sub
Public Sub MsgWinHide()
frmMsgWin.lblMsg.Caption = ""
frmMsgWin.Left = -2000 * 15
Screen.MousePointer = frmMsgWin.MouseP
End Sub
Dim w, h, l, t
Load frmMsgWin
frmMsgWin.lblMsg.Caption = msg
With frmMsgWin
SetWindowPos .hwnd, HWND_TOPMOST, 0, 0, 0, 0, Flag
h = .lblMsg.Height + 15 * 40
w = .lblMsg.Width + 15 * 60
l = (Screen.Width - w) / 2
t = (Screen.Height - h) / 2
.Move l, t, w, h
.lblMsg.Left = Int(.ScaleWidth - .lblMsg.Width) / 2
.lblMsg.Top = Int(.ScaleHeight - .lblMsg.Height) / 2
End With
frmMsgWin.MouseP = Screen.MousePointer
Screen.MousePointer = vbHourglass
DoEvents
If WaitSec > 0 Then
Delay WaitSec * 1000
Call MsgWinHide
End If
Exit Sub
End Sub
Public Sub MsgWinHide()
frmMsgWin.lblMsg.Caption = ""
frmMsgWin.Left = -2000 * 15
Screen.MousePointer = frmMsgWin.MouseP
End Sub
很简单,就是不用时将其移出屏幕外,用的时间显示到屏幕中央,然后设置其 zorder 以使用其置顶。其实用
'SetWindowPos .hwnd, HWND_TOPMOST, 0, 0, 0, 0, Flag
就应该可以了,应该不用再用zorder,但好象效果是一样的!!
- 在打开有模式窗体后还能"显示"无模式窗体
- 窗体显示有模式与无模式之分...
- JS打开模式窗体
- 在模式窗体中提交而不打开新窗体
- 窗体的模式显示
- Silverlight:在MVVM模式中打开子窗体(Child Window)
- VB弹出窗体提醒"模式窗体显示时不能显示非模式窗体"
- 有模式弹出子窗体,关闭时刷新父窗体
- 有模式弹出子窗体,关闭时刷新父窗体
- 窗体中有一个图片框,显示一副图片。要求:1)在窗体打开时,动态加载图片;2)设置图片显示模式为根据图片框大小缩放图片;3)图片自己找;4)当鼠标停留在图片框时,显示“**风光”提
- 单例模式之窗体显示
- 非模式窗体和模式窗体
- 非模式窗体和模式窗体
- 非模式窗体和模式窗体
- 在MVVM模式中关闭窗体
- 子窗体永显示在最底层,其它子窗体时打开时显示在该窗体的上层
- 登陆窗体的模式与非模式显示
- 显示窗体的“模式方式”与“非模式方式”
- 解夏
- SVG图形的两个制作工具——Inkscape和Sodipodi
- CSharp Tips:以整数的形式传递对象引用
- 【转】Microsoft .Net Remoting系列专题之二:Marshal、Disconnect与生命周期以及跟踪服务
- asp.net跳转页面的三种方法比较
- 在打开有模式窗体后还能"显示"无模式窗体
- Linux线程(3): 线程清理处理程序
- js中innerHTML与innerText的用法与区别
- 【转】Microsoft .Net Remoting系列专题之三:Remoting事件处理全接触
- B树
- com.microsoft.sqlserver.jdbc.SQLServerException: 到主机 的 TCP/IP 连接失败。 java.net.ConnectException: Connection timed out: connect数据库
- hibernate的几种映射
- ReportServies 报表开发心得
- 多线程如何传递参数