vb6 使窗体总在最前面,使用中出现很奇怪的问题!

luckclouds 2007-05-11 11:35:55
我的程序中,在From_Load中设置窗体总在最前面,但客户使用中有时会出现失效,窗体不能总在最前面.关闭程序,再重新运行程序又可以了,不知道什么原因,客户系统环境也很常规,没有什么特殊程序(都是word,excel,QQ之类),出现频率也不多,十天出现两三次,虽然不影响使用,但总觉得很不爽~~.望高人指点一二,谢谢
模块代码如下:
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
Public Declare Sub InitCommonControls Lib "comctl32.dll" ()
Private Const SWP_NOMOVE = &H2
Private Const SWP_NOSIZE = &H1
Private Const HWND_TOPMOST = -1
Private Const HWND_NOTOPMOST = -2
Private Const SWP_NOACTIVATE = &H10
Private Const SWP_SHOWWINDOW = &H40

Public Sub SetTopMostWindow(ByVal Form As Form, Optional ByVal bTop As Boolean = True)
If bTop Then
SetWindowPos Form.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOSIZE Or SWP_NOMOVE
Else
SetWindowPos Form.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOSIZE Or SWP_NOMOVE
End If
End Sub

...全文
443 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
luckclouds 2007-05-12
  • 打赏
  • 举报
回复
好的谢谢,由于小弟分数不多,尽可能送分
嗷嗷叫的老马 2007-05-11
  • 打赏
  • 举报
回复
.................................
chenhui530 2007-05-11
  • 打赏
  • 举报
回复
放到Active时间中看看

1,486

社区成员

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

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