Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-03-2010
Alejo15x Alejo15x is offline
Miembro
 
Registrado: ene 2010
Posts: 55
Poder: 8
Alejo15x Va por buen camino
Verificar si un HWND esta con focus?

Hola!

Supongo que esto iria en la API, ya que un HWND es un api. Creo bueno, tengo el siguiente codigo:
para verificar si una HWND esta arriva de todas, osea que la estamos usando...(Focus) >.<
Código Delphi [-]
procedure VerificarVentanas();
begin
 HVentana := FindWindow( 'TibiaClient', nil );
{ Si esta con focus la HVentana que... }
{
  ShowWindow( Application.Handle, SW_SHOW );
  SetWindowLong( Handle, GWL_EXSTYLE,
      GetWindowLong(Application.Handle, GWL_EXSTYLE) or
      WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
  ShowWindow( Application.Handle, SW_HIDE );
}
{ Si no esta con focus la HVentana que... }
// Application.ShowMainForm := false;
end;

Espero me entiendan, un saludo!
Responder Con Cita
  #2  
Antiguo 16-03-2010
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 1.895
Poder: 13
escafandra Va camino a la famaescafandra Va camino a la fama
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
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Set Focus En Net maco2007 .NET 4 05-11-2007 13:59:28
Focus eldonfsr C++ Builder 2 19-09-2007 07:35:39
Focus Huer Varios 6 05-05-2007 19:16:20
verificar si una aplicacion esta corriendo dblx Varios 12 15-12-2006 02:29:31
Verificar si esta instalada una fuente victork_py Varios 2 22-10-2003 20:23:39


La franja horaria es GMT +2. Ahora son las 23:01:26.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi