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

 

  Dicas

  Visual Basic    (Forms/MDI)

Título da Dica:  Formulário aparecer na frente de outras aplicações
Postada em 5/8/2002 por Taylor            
Esses dias eu estava procurando exatamente isso : como fazer com que um formulário apareça na frente de todas as outras aplicações ?

Se você criar uma aplicação que rode em background ou tenha respostas assíncronas, você desejará que quando a tarefa estiver concluida um formulário apareça no topo de todas as outras aplicações que o usuário estiver utilizando.

Para realizar isso torna-se necessário utilizar uma chamada a uma API. Essa API poderá ser declarada em qualquer parte do código, mas pode ser útil que fique em um módulo de forma que possa ser utilizada a partir de qualquer lugar. A declaração é :

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
Public Const SWP_NOMOVE = 2
Public Const SWP_NOSIZE = 1
Public Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE


Feito isso, no momento que desejar que o formulário se sobreponha a outras janelas utilize a seguinte instrução :

SetWindowPos Form1.hwnd, -2, 0, 0, 0, 0, FLAGS

Observe os parâmetros da função : o 1o é o handle da janela. Em seguida entra o posicionamento em relação as outras. É o -2 que faz com que a janela apareça na frente das demas.

Os outros parâmetros se referem a posicão e tamanho, mas o último parâmetro, FLAGS, determina que a posição e tamanho atuais não sejam alterados.

 


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