SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE

解决方案 »

  1.   

    先作如下申明:
    '浮动窗体所需常量及函数
    Private Const HWND_NOTOPMOST = -2
    Private Const HWND_TOPMOST = -1
    Private Const SWP_NOMOVE = &H2
    Private Const SWP_NOSIZE = &H1
    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'===========然后,在事件中:
    最上层:SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZ
    非最上层:SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE + SWP_NOSIZE
      

  2.   

    SetWindowPos 对MDI好使吗?HWND_TOPMOST,HWND_NOTOPMOST,SWP_NOMOVE + SWP_NOSIZ都是啥意思呀!
      

  3.   

    SetWindowPos 对MDI好使吗?HWND_TOPMOST,HWND_NOTOPMOST,
    SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE _ 
        Or SWP_NOSIZE ?都是啥意思呀!
      

  4.   

    SetWindowPos 有句柄就行,HWND_TOPMOST,HWND_NOTOPMOST,
    SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE _ 
        Or SWP_NOSIZE 是系统定义的常量
    Const 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()
        'Set the window position to topmost
        SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
    End Sub
      

  5.   

    在MSDN里都查得到,看点WINDOWS编程的资料吧