Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
327
Assunto : Visual Basic
Titulo: Criar um formulário TopMost

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



TopMost é o apelido que se dá a um formulário que fica a frente de todas as outras aplicações do windows.

Definir um formulário como topmost é um recurso obtido através de API's de uma API, SetWindowPOS.

Veja esse exemplo de código :

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()
topmost Me.hwnd, True
End Sub


Sub topmost(hwnd As Long, topmost As Boolean)

If topmost Then
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
Else
SetWindowPos Me.hwnd, HWND_NOTOPMOST = -2, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End If

End Sub


Neste exemplo fizemos as declarações de constantes e da função SetWindowPOS para que possamos chama-la. Em seguida foi feita uma função TopMost que chama a função SetWindowPos para definir um formulário como topmost ou desfazer essa definição, conforme a solicitação.

Em seguida, para testarmos a função, a chamamos do active do formulário.


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 6/1/2006 9:15:00 AM
nome: macoratti
email: syberdellete@bol.com.br
comentário:
Quer manter o seu formulário sempre 'no topo' sobre os demais ?

Faça o seguinte:

1-) Inicie um novo projeto no VB e insira um módulo no menu Project|Add Module

2-) A seguir insira o código abaixo no módulo :



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 hWnd_TOP = 0
Public Const hWnd_TOPMOST = -1
Public Const hWnd_NOTOPMOST = -2
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOSIZE = &H1
Public Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE



3-) No formulário padrão insira dois botões de comando : command1 - No topo- e command2 - Normal. Agora insira o código abaixo em cada botão de comando:

Private Sub Command1_Click()
res = SetWindowPos(Form1.hWnd, HWND_TOPMOST, 0, 0, 0, 0, flags)
End Sub
Private Sub Command2_Click()
res = SetWindowPos(Form1.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, flags)
End Sub

4-) Inicie o seu projeto e clique no botão - No Topo- . Agora experimente iniciar qualquer outra janela. O formulário do seu projeto sempre ficará sobre qualquer uma delas. Para voltar ao normal clique no botão - Normal.

Essa é classica...



data: 6/1/2006 9:15:00 AM
nome: macoratti
email: mykemeris@ig.com.br
comentário:
Quer manter o seu formulário sempre 'no topo' sobre os demais ?

Faça o seguinte:

1-) Inicie um novo projeto no VB e insira um módulo no menu Project|Add Module

2-) A seguir insira o código abaixo no módulo :



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 hWnd_TOP = 0
Public Const hWnd_TOPMOST = -1
Public Const hWnd_NOTOPMOST = -2
Public Const SWP_NOMOVE = &H2
Public Const SWP_NOSIZE = &H1
Public Const FLAGS = SWP_NOMOVE Or SWP_NOSIZE



3-) No formulário padrão insira dois botões de comando : command1 - No topo- e command2 - Normal. Agora insira o código abaixo em cada botão de comando:

Private Sub Command1_Click()
res = SetWindowPos(Form1.hWnd, HWND_TOPMOST, 0, 0, 0, 0, flags)
End Sub
Private Sub Command2_Click()
res = SetWindowPos(Form1.hWnd, HWND_NOTOPMOST, 0, 0, 0, 0, flags)
End Sub

4-) Inicie o seu projeto e clique no botão - No Topo- . Agora experimente iniciar qualquer outra janela. O formulário do seu projeto sempre ficará sobre qualquer uma delas. Para voltar ao normal clique no botão - Normal.

Essa é classica...



data: 6/1/2006 8:57:00 AM
nome: black
email: blackmeris@yahoo.com.br
comentário:
Assunto: Visual Basic
Título: Criar um formulário TopMost
Dica:


TopMost é o apelido que se dá a um formulário que fica a frente de todas as outras aplicações do windows.

Definir um formulário como topmost é um recurso obtido através de API's de uma API, SetWindowPOS.

Veja esse exemplo de código :

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()
topmost Me.hwnd, True
End Sub


Sub topmost(hwnd As Long, topmost As Boolean)

If topmost Then
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
Else
SetWindowPos Me.hwnd, HWND_NOTOPMOST = -2, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End If

End Sub


Neste exemplo fizemos as declarações de constantes e da função SetWindowPOS para que possamos chama-la. Em seguida foi feita uma função TopMost que chama a função SetWindowPos para definir um formulário como topmost ou desfazer essa definição, conforme a solicitação.

Em seguida, para testarmos a função, a chamamos do active do formulário.



data: 6/1/2006 8:56:00 AM
nome: shelll
email: syberdellete@bol.com.br
comentário:
Assunto: Visual Basic
Título: Criar um formulário TopMost
Dica:


TopMost é o apelido que se dá a um formulário que fica a frente de todas as outras aplicações do windows.

Definir um formulário como topmost é um recurso obtido através de API's de uma API, SetWindowPOS.

Veja esse exemplo de código :

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()
topmost Me.hwnd, True
End Sub


Sub topmost(hwnd As Long, topmost As Boolean)

If topmost Then
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
Else
SetWindowPos Me.hwnd, HWND_NOTOPMOST = -2, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End If

End Sub


Neste exemplo fizemos as declarações de constantes e da função SetWindowPOS para que possamos chama-la. Em seguida foi feita uma função TopMost que chama a função SetWindowPos para definir um formulário como topmost ou desfazer essa definição, conforme a solicitação.

Em seguida, para testarmos a função, a chamamos do active do formulário.



data: 6/1/2006 8:56:00 AM
nome: shell
email: mykemeris@ig.com.br
comentário:
Assunto: Visual Basic
Título: Criar um formulário TopMost
Dica:


TopMost é o apelido que se dá a um formulário que fica a frente de todas as outras aplicações do windows.

Definir um formulário como topmost é um recurso obtido através de API's de uma API, SetWindowPOS.

Veja esse exemplo de código :

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()
topmost Me.hwnd, True
End Sub


Sub topmost(hwnd As Long, topmost As Boolean)

If topmost Then
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
Else
SetWindowPos Me.hwnd, HWND_NOTOPMOST = -2, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW Or SWP_NOMOVE Or SWP_NOSIZE
End If

End Sub


Neste exemplo fizemos as declarações de constantes e da função SetWindowPOS para que possamos chama-la. Em seguida foi feita uma função TopMost que chama a função SetWindowPos para definir um formulário como topmost ou desfazer essa definição, conforme a solicitação.

Em seguida, para testarmos a função, a chamamos do active do formulário.



 1  
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br