VB6.0中怎么设置可以实现form2弹出后浮在form1的上面,而不受点击form1上的按键影响

就是让form2一直浮在form1的上面,form1上面的按键依然能够操作,但是form2要一直浮在上面
form2相当于一个悬浮窗口,

在form2里使用API函数

form2里的代码:
Option Explicit
'窗口总在最前面的API函数
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
Const HWND_TOPMOST = -1
Const SWP_SHOWWINDOW = &H40

Private Sub Form_Load()
Dim retValue As Long
Rem 将窗体设置为处于所有窗口的顶层,注意在 VB 中运行时,
'可能不行,但编译成EXE后就可以了
retValue = SetWindowPos(Me.hwnd, HWND_TOPMOST, Me.CurrentX, Me.CurrentY, 400, 300, SWP_SHOWWINDOW)

End Sub追问

试过了,点击form1上面的按键,form2依然被form1覆盖

追答

上面的代码是放在要始终处于上面的窗体里??????

我这个是在VB6里,通过测试的?

追问

我这里form1是全屏显示的,按照你说的试了一下,点击form1上面的按键对form2操作时,form1就变成了上层。

追答

我的版本 VB6 简体中文企业版 + SP6


我把通过测试的工程发给你,你再试。也许我没有理解你的要求?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-19
把 form2 置顶,就可以实现在 form1 上操作,但是 form2 仍然显示在最前端了。追问

怎么置顶,前面说的方法不行,点击form1上面的按键时,form2依然会被form1覆盖掉

追答

syx54 的做法是对的。我就不再贴相同的代码了。

相似回答