Ver Mensaje Individual
  #2  
Antiguo 16-03-2010
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
El hecho de que una ventana esté en primer plano no implica que tenga el foco.

La forma de verificar con la API, si una ventana tiene o no el foco es meduante GetFocus que retorna el HWND (Handle) de la ventana que tiene en ese momento el foco. Si lo comparamos con el de nuestra ventana sabremos si tenemos o no el foco.

Desde delphi, sería mas sencillo usar la propiedad focused.

Ten en cuenta que si el foco lo tiene un control, la ventana que lo contiene dará que no tiene el foco. Sólo una ventana puede tener el foco. En ese caso, si lo que te interesa es saber si tu formulario tiene el foco, basta comparar si el Parent del contorl que lo tiene es tu formulario.


Saludos.
Responder Con Cita