COMO EU CHAMO A TELA PARA FRENTE DAS DEMAIS?

USUARIO.EXCLUIDOS 20/04/2007 15:28:55
#213045
Gostaria de saber como eu faço para que, usando uma hotkey, (que já está ativa) a tela venha para frente das demais telas do windows.

Tentei usando o SetWindowPos, porém ele não trouxe o resultado esperado...

Outra tentativa foi usar o AppActivate, ele funciona se usar junto a ele o SendKeys(TAB), só que na primeira chamada ele não vem para frente.
Nas demais chamadas ele sim.

Outro problema é que no projeto ele faz tudo certo e no executável não.

Por favor, se alguem tiver a resposta, mandar um e-mail ou responder o tópico...

Obrigado
LIONHEART 20/04/2007 15:49:00
#213057
bom, se a tela for do seu programa, assim:

FrmDesejado.HIDE
FrmDesejado.Show
FrmDesejado.SetFocus
GUTO 20/04/2007 15:53:47
#213061
Noa sei se é isso

Num Modulo

Option Explicit

Public 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 Sub Lock_On_Top(FrmLogin)
SetWindowPos FrmLogin.hwnd, -1, 0, 0, 0, 0, 3
End Sub



  Public Sub UNLOCK_ON_TOP(Form_Name)
SetWindowPos Form_Name.hwnd, -2, 0, 0, 0, 0, 3
End Sub




no form Load do Form em questao


'''''''''''''''deixa form sempre na frente de
'**************todos os outros programas
Dim Q As String

Q = "When the box is checked, this form will stay in front "
Q = Q & "of other windows." & vbCrLf & vbCrLf
Q = Q & "Unchecking the box restores it back to normal."

Lock_On_Top FrmLogin
'******************************************

USUARIO.EXCLUIDOS 20/04/2007 16:30:51
#213077
Não funciona nem uma das 2...

Acho que eu me expressei mal, deixa eu exemplificar:

O programa está rodando no trayicon.
Eu aperto uma tecla X que maximiza ele....
Só que ao envéz de aparecer sobre as outras, ela aparece atraz das demais
E piscando na barra do iniciar...

O SetWindowPos serve para deixar sempre vivel, mas isso seria no form_load (pelo que eu percebi)

O que eu preciso é de alguma API que traga-o para frente em tempo de execução (como exemplo: Babylon)


Mas obrigado pelas respostas!! Vlw (Y)
USUARIO.EXCLUIDOS 20/04/2007 18:24:30
#213090
Amigo Fiz algumas mudanças no arquivo verifique
GUTO 21/04/2007 10:47:18
#213120
pow tambem com essa explicação huahuahuahuahuha
USUARIO.EXCLUIDOS 21/04/2007 15:02:29
#213137
Obs:
pra mantelo em execução e fechar as outras janelas é so coloca-lo em um timer;
Private Sub Form_Load()
Timer1.Enabled = True
End Sub


Private Sub Timer1_Timer()
Lock_On_Top (Form1)
End Sub

USUARIO.EXCLUIDOS 27/04/2007 14:29:58
#214072
Vlw gente, mas o problema não é MANTER na frente das demais...
O problema é na hora que eu chamo o form (com a tecla de atalho) ele não vem na frente, ele fica atrás das outras.......

Não precisa que fique sempre visível, mas que venha para frente das demais!

Mas valew por responderem......
CLEVERTON 27/04/2007 14:37:36
#214077
Tem jogo pelo meio ??

é programa de lanhouse ???
- se for é complicado viu!
USUARIO.EXCLUIDOS 27/04/2007 14:54:47
#214079
Não, não é programa nem de jogo, nem de LAN....

é mto simples, acho que eu que não to conseguindo pedir direito....

Sabe o Babylon, tu chama ele por um atalho...
E ele aparece sobre as demais telas....

To tentando fazer minha app fazer isso.... eu consegui fazer com que ela fique sobre as demais... porém:

Quando eu chamo ela, ela fica atraz das outras aplicações, por exemplo uma pasta do windows.....
Se eu clicar nela, ela fica sobre as outras...
Mas o problema é quando eu chamo... ela não aparece sobre as demais... mas sim atraz das outras......
USUARIO.EXCLUIDOS 27/04/2007 15:16:59
#214084
caraca não é possivel ser o: frm.show vbmodal.
Página 1 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas