怎样让窗体form总在最前端显示?

解决方案 »

  1.   

    form1.show 
    from1.zorder 0
      

  2.   


    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 HWND_NOTOPMOST = -2
    Public Sub SetFormTop(frm As Form, blnTop As Boolean)
            '窗体放在最前面
            Dim lngTemp As Long        If blnTop Then
                lngTemp = SetWindowPos(frm.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS)
            Else
                lngTemp = SetWindowPos(frm.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
            End If
        End Sub
      

  3.   

    Option ExplicitConst HWND_TOPMOST = -1
    Const HWND_NOTOPMOST = -2
    Const SWP_NOSIZE = &H1
    Const SWP_NOMOVE = &H2
    Const SWP_NOACTIVATE = &H10
    Const SWP_SHOWWINDOW = &H40
    Private Declare Sub 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 Form_Activate()
        SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
    End Sub
      

  4.   

    让窗体在所有程序的最前面用:模块文件!
    -----------
    Option Explicit
    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
    Declare Function ChildWindowFromPoint Lib "user32" (ByVal hwnd As Long, ByVal xPoint As Long, ByVal yPoint As Long) As Long
    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Public Const WM_COMMAND = &H111
    Public Const GWL_ID = (-12)
    Public Declare Function ReleaseCapture Lib "user32" () As Long
    Public Const HTCAPTION = 2
    Public Const WM_NCLBUTTONDOWN = &HA1
    Public cai As String
    Public Const WM_SETTEXT = &HC
    Public i As Integer-------设定:
    Private Sub Command2_Click()
    SetWindowPos Me.hwnd, -1, 0, 0, 0, 0, 3
    Label1(0).Caption = "已设定窗体总在最上面!"
    Label1(1).Caption = "已设定窗体总在最上面!"
    End Sub取消:
     SetWindowPos Me.hwnd, -2, 0, 0, 0, 0, 3
    Label1(0).Caption = "已取消窗体总在最上面!"
    Label1(1).Caption = "已取消窗体总在最上面!"
    只是在当前程序里用:窗体名.show 1
    如:form1.show 1
      

  5.   

    一楼的有特点...."from1.zorder 0"zorder 是什么意思啊?