怎么在VB6.0中设置form窗体在正常显示和前端显示间切换?

来源:百度知道 编辑:UC知道 时间:2024/06/05 23:03:26
我编了一个小程序,希望用复选框控制form窗体在正常显示和前端显示之间切换,我用了下面的方法后
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_SHOWWINDOWS = &H40

Dim retValue As Long
retValue = SetWindowPos(Me.hwnd, HWND_TOPMOST, Me.CurrentX, Me.CurrentY, 680, 710, SWP_NOSIZE)

不知道怎么将form窗体切换到正常模式,还请高手指点迷津,谢谢!
用楼下的方法,有一个问题,就是切换到非前端显示状态后,form窗体移到了屏幕的左上角,有什么办法补救吗?

完整代码如下:
'声明部分
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)

Private Sub Command1_Click()
' 窗口置前
Dim myval
myval = SetWindowPos(form1.hwnd, -1, 0, 0, 0, 0, 3)
End Sub
Private Sub Command2_Click()
'窗口正常
Dim myval
myval = SetWindowPos(form1.hwnd, -2, 0, 0, 0, 0, 3)
End Sub
Private Sub Command3_Click()
'窗口置后
Dim myval
myval = SetWindowPos(form1.hwnd, 1, 0, 0, 0, 0, 3)
End Sub
Private Sub Command4_Click()
End
End Sub

你可以在form的属性窗口,将StartUppositio设置为2-屏幕中心

Const HWND_NOTOPMOST = -2

retValue = SetWindowPos(Me.hwnd, HWND_NOTOPMOST, Me.CurrentX, Me.CurrentY, 680, 710, SWP_NOSIZE)