如何使窗口总是在最前面

mybcb 2004-09-05 06:34:01
窗口的显示风格象QQ的登录窗口一样,谢谢
...全文
307 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyp2kyear 2005-08-18
  • 打赏
  • 举报
回复
msgbox "提示", vbSystemModal
iiboy 2004-09-05
  • 打赏
  • 举报
回复
有点麻烦,

帮你UP
rainstormmaster 2004-09-05
  • 打赏
  • 举报
回复
用自己的对话框(也是topmost的)代替msgbox
mybcb 2004-09-05
  • 打赏
  • 举报
回复
我试了,可以的,谢谢,但是如果在本窗口用MsgBox输出一段提示信息时,弹出的提示信息就被挡住了(看不到),怎么办呀?
TechnoFantasy 2004-09-05
  • 打赏
  • 举报
回复
使用api函数 SetWindowPos 可以很容易的作到。

顾名思义, SetWindowPos 就是完成设置窗口位置和状态(pos=position)的功能。源代码如下:

Option Explicit

Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long

Private Const HWND_TOPMOST& = -1
' 将窗口置于列表顶部,并位于任何最顶部窗口的前面
Private Const SWP_NOSIZE& = &H1
' 保持窗口大小
Private Const SWP_NOMOVE& = &H2
' 保持窗口位置

Private Sub Form_Load()
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE
' 将窗口设为总在最前
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧