假如要在程序中一个窗体显示主窗口在最前面,最好用下面了例子:
Public Declare Function SetWindowWord Lib "user32" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal wNewWord As Long) As Long
Const GWW_HWNDPARENT = (-8)
Public Function Previousform(dest As Long, Y As Long)
'调用这个函数设置窗体后,保存窗体的原始父窗体
'当窗体取消后需要用他来恢复,以避免一般保护错误
'如: OriginalParenth = SetWindowWord(me.hwnd, GWW_HWNDPARENT, Mdiform1.Hwnd)
'取消时:SetWindowWord(me.hwnd, GWW_HWNDPARENT, OriginalParenth)
Previousform = SetWindowWord(dest, GWW_HWNDPARENT, Y)
End Function
如:
dim OriginalParenth as long
'在子窗体中(指定靠前的窗口)
Private Sub Form_Load()
OriginalParenth=reviousform(Me.hwnd, MDIForm1.hwnd)
....
'窗口关闭时恢复
Private Sub Form_Unload(Cancel As Integer)
Previousform Me.hwnd, OriginalParenth
end sub