如何让一个窗体,显示在界面上,而且除了你点击之外,不会隐藏?

解决方案 »

  1.   

    Call SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAG) '设定成TopMost的Window声明自己添加
      

  2.   

    上面涉及一个自定义常量,完整程序如下:
    Const FLAG = SWP_NOMOVE Or SWP_NOSIZE
     Const HWND_TOPMOST = -1
     Const HWND_NOTOPMOST = -2
     Const HWND_TOP = 0
     Const HWND_BOTTOM = 1
     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 Sub Form_Load() 
     Call SetWindowPos(Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAG) '设定成TopMost的Window
     End Sub
      

  3.   

    楼上的兄弟。正确。
    那么
    show 后面还可以跟几种型号??
    show 3
    show 4 可以不可以??
      

  4.   

    就用SetWindowPos这个API可以把窗口设成最前窗口.不过这时候如果弹出一个对话框或者是一个模式窗口的话,那个最前窗体就不会动了.如果对话框或者是一个模式窗口正好在那个最前窗口后面,并且比最前窗口小的话.程序就不能动了.
      

  5.   

    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 LongPrivate Sub Form_Load()
        SetWindowPos Me.hwnd, -1&, 0&, 0&, 0&, 0&, 3&
    End Sub
      

  6.   

    //show 后面还可以跟几种型号??
    //show 3
    //show 4 可以不可以??
    窗体常数
    显示参数
    常数 值 描述 
    vbModal 1 模式窗体 
    vbModeless 0 无模式窗体