怎样让窗体有事件相应时自动在应用程序的最前端显示我的程序连接一个输入设备,当窗口最小化时,设备有数据输入是可以实现窗体自动最大化。但是如何在没最小化时,有事件响应时窗体能在最前端显示?谢谢啦

解决方案 »

  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
    Const HWND_TOPMOST = -1
    Const HWND_NOTOPMOST = -2
    Const SWP_NOMOVE = &H2
    Const SWP_NOSIZE = &H1
    Const SWP_HIDEWINDOW = &H80
    Const SWP_SHOWWINDOW = &H40
    Const FLAGS = &H2 Or &H1在事件响应的过程里写以下代码
    SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, FLAGS
      

  2.   

    SetFocusAPI VB声明 
    Declare Function SetFocusAPI& Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) 
    说明 
    将输入焦点设到指定的窗口。如有必要,会激活窗口 
    返回值 
    Long,前一个拥有焦点的窗口的句柄 
    参数表 
    参数 类型及说明 
    hwnd Long,准备接收焦点的窗口的句柄 
      

  3.   

    高手 yangao(偶新手 请问门在哪里?) 你这个能实现,但是触发这个事件后 窗体就成了总在最前,如何让窗体到了最前后就取消这个属性
      

  4.   

    SetWindowPos(Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS)
    到顶后再这样就不是最顶了
      

  5.   

    SetWindowPos Me.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, FLAGS
    恩,这样就可以了,真是太谢谢了