Como saber quando o form recebe o foco
13/12/2007
0
A minha duvida e o seguinte digamos que tenho 2 forms um chamado TELA1 e o outro TELA2 e as duas estao abertas e posso alternar entre elas com o ALT + TAB. O que gostaria de saber e quando a TELA1 esta com o foco ou a TELA2 .
Grato
Jaimesk
Posts
14/12/2007
Jaimesk
14/12/2007
Massuda
Cada form tem um OnActivate() que é disparado sempre que o form recebe o foco mas o objeto Application também tem um OnActivate(), que é disparado quando o programa recebe o foco.
Quando você alterna entre programas (usando Alt+Tab por exemplo), é gerado o evento OnActivate() ao Application, mas não é gerado o OnActivate() do form.
14/12/2007
Jaimesk
14/12/2007
Jaimesk
HWND TelaAtual, TelaDaFrente;
TelaAtual = Form1->Handle;
TelaDaFrente = GetForegroundWindow();
if (TelaAtual == TelaDaFrente )
{ // a tela se tornou a da frente
Application->MessageBox(´A Tela Esta na Frente de Todas´,´´);
}
else
{ // a tela se tornou a da frente
Application->MessageBox(´A Tela Esta Atraz de Outra´,´´);
}
Clique aqui para fazer login e interagir na Comunidade :)