Fórum Applicação sempre focada #283891
06/06/2005
0
Colocar o Form sempre a frente , trazer o Form para frente , fazer ele Piscar isto tudo ja foi amplamente debatido por esta comunidade.. Mas gostaria de fazer mais.. Gostaria de alem de trazer este form para frente e que ele recebesse o foco..
Para ser mais preciso , veja um exemplo .. Suponha que o form esteja na frente e que o usuário clica-sse em outro lugar... Mesmo que o form continue na frente , o Foco agora e deslocado..
Gostaria de retornar este foco automaticamente para a aplicação..
:idea: :idea: :idea:
Mesmo que para isto eu use um [b:f1c8db53a0]Timer[/b:f1c8db53a0] que exporadicamente retorna-sse o foco para a aplicação..
Ou
:idea: :idea:
Ou algo que imite Tipo o Click do mouse em cima do Form
Bem , o que acontece e o seguinte, quando a conexão cai , o form é trazido para a frente e o usuário tem que digitar uma senha em um edit.. O problema é que apesar do form esta a frente em muitas dessas situações o foco não esta com o Form..Ai o usuário tem que clicar em cima do form :cry: :cry: :cry: .. gostaria de fazer isto automaticamente , via programação
Fiu claro :?: :?: :?: Alguma duvida
Marco Salles
Curtir tópico
+ 0Posts
07/06/2005
Marco Salles
Gostei + 0
08/06/2005
Marco Salles
Gostei + 0
09/06/2005
Marco Salles
Gostei + 0
09/06/2005
Delphi32
Form.SetFocus;
Logicamente, esse código teria que ficar em um timer.
Agora, me diga uma coisa. Nesse seu caso, você não poderia chamar o form com ´ShowModal´? Desse forma o usuário seria obrigado a digitar a senha. O foco jamais sairia do form.
Até!
Gostei + 0
09/06/2005
Marco Salles
Ja tentei :cry: :cry: :cry:
O Problema é que mesmo que o form apareça , quando a conexão cai, o foco é deslocado por alguma coisa inerente aos meus conhecimentos..Ai o usuário te que clicar no form...
[b:aec0206e61]Eu não sei qual o comando deve dar no evento ontimer para que o controle volte a aplicação ..Alguma coisa que devo dizer ao sistema operacional , que a janela do aplicativo e que deve estar em destaque[/b:aec0206e61]...
Gostei + 0
10/06/2005
Marco Salles
Gostei + 0
13/06/2005
Marco Salles
Gostei + 0
13/06/2005
Kotho
Gostei + 0
13/06/2005
Marco Salles
Ainda não.. Vou testar agora.
Obrigado.
Gostei + 0
13/06/2005
Marco Salles
Onde voce consegui esta instrução Application.BringToFront e o que praticamente ela faz :?: :?: :?:
Gostei + 0
13/06/2005
Kotho
Gostei + 0
14/06/2005
Paullsoftware
isso faz com que ele fique sempre por cima das aplicações!!!
SetWindowPos(Handle,Hwnd_TopMost,0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOACTIVATE)
....
dica dada por Massuda, um usuário do forum...
[b:954c3dd6e5] ANTES DE POSTAR SUAS DÚVIDAS, USEM A FERRAMENTA DE BUSCA!!![/b:954c3dd6e5] :wink:
Gostei + 0
15/06/2005
Marco Salles
eu ja conhecia esta instrução amigo..Com eu mesmo disse no início.Não so ela mas outras similares
Gostei + 0
15/06/2005
Paullsoftware
mudo a propiedade do componente TTimer para 1 e coloco dentro dele o codigo abaixo:
SetWindowPos(Form_TelaDeLogin.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE); if ( TelaDeLogin = True ) then //Variavel que recebe a tela de login do micro if Not ( Application.Active ) then begin Application.ProcessMessages; Application.Restore; SetWindowPos(Form_TelaDeLogin.handle, HWND_TOPMOST, Form_TelaDeLogin.Left, Form_TelaDeLogin.Top,Form_TelaDeLogin.Width, Form_TelaDeLogin.Height, 0); SetForegroundWindow(Application.Handle); Application.BringToFront; Form_TelaDeLogin.Focused; end else if IsIconic(Application.Handle) then begin Application.ProcessMessages; Application.Restore; SetWindowPos(Form_TelaDeLogin.handle, HWND_TOPMOST, Form_TelaDeLogin.Left, Form_TelaDeLogin.Top,Form_TelaDeLogin.Width, Form_TelaDeLogin.Height, 0);SetForegroundWindow(Application.Handle); Application.BringToFront; Form_TelaDeLogin.Focused; end; EditID.SetFocus;
usando as funções que vc mesmo já disse que conhece, apenas chamei o foco para o meu componente e digito a senha...
Obs.: [b:b1465a9e81]a tela de login que uso, fica em todo desktop...[/b:b1465a9e81]
se conseguir outra forma mais agradável, me passa... eu sempre uso assim :?
Gostei + 0
15/06/2005
Marco Salles
:?: :?: :?: :?: :?: :?:
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)