USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  Visual Basic    (Forms/MDI)

Título da Dica:  Esperar janela ser fechada para continuar executar
Postada em 18/7/2005 por Rochª      Clique aqui para enviar email para o autor  proglucrocha@bol.com.br
Esta rotina espera que uma janela seja fechada para que o fluxo continue a execucao.

.....
   form2.show
   Aguarda_Janela   ("Form2")
   ..... so continua a execucao apos o fechamento da janela form2.
         Observe que a janela nao é  "form2.show 1" ela pode ser uma mdichild.

Private Const GW_CHILD = 5
Private Const GW_HWNDNEXT = 2
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal aint As Long) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long

' Rotina para esperar que uma outra janela termino para que o fluxo continue a ser executado
Sub Aguarda_Janela(StrJanela As String)
    On Error Resume Next
    Dim AntHwnd As Long, JHwnd As Long, TamNome As Long
    Dim NomeJanela As String
    
    AntHwnd = GetDesktopWindow()
    JHwnd = GetWindow(AntHwnd, GW_CHILD)
    
    Do Until JHwnd = 0
        NomeJanela = Space$(255)
        TamNome = GetWindowText(JHwnd, NomeJanela, 128)
        NomeJanela = Left$(Trim$(NomeJanela), TamNome)
        If UCase$(Trim$(NomeJanela)) = UCase$(Trim$(StrJanela)) Then
            Exit Do
        Else
            AntHwnd = JHwnd
            JHwnd = GetWindow(AntHwnd, GW_HWNDNEXT)
        End If
    Loop
    Do Until TamNome = 0
        TamNome = GetWindowText(JHwnd, NomeJanela, 128)
        DoEvents
    Loop
    
    If Err Then Err.Clear
End Sub
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página