Ver Mensaje Individual
  #1  
Antiguo 13-09-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Mostrar y ocultar la barra de título de una aplicación

Hola,

A ver si me podéis echar una mano pataliebres.

Resulta que necesito mostrar y ocultar la barra de título de la ventana de una aplicación partiendo de su "Handle". Buscando en Google encuentro que el amigo Zarko Gajic propone una solución para ocultar la barra de título, y funciona bien, podría decirse. La solución es la siguiente:

Código Delphi [-]
  SetWindowLong(
    Handle,
    GWL_STYLE,
    GetWindowLong(Handle,GWL_STYLE) and not WS_CAPTION
  );

Entonces yo, en mi infinita sabiduría de ser superior y único, digo, pues ya está, si eso oculta la barra de título, entonces esto otro la mostrará:

Código Delphi [-]
  SetWindowLong(
    Handle,
    GWL_STYLE,
    GetWindowLong( Handle, GWL_STYLE ) or WS_CAPTION
  );

Y, aunque el asunto pudiera dar más de sí, pudiera ser que algo como eso me sirviera, ¡si no fuera porque la ventana recupera su barra de título, sí, pero no la muestra hasta que no minimizo la aplicación o de alguna manera la "activo" desde la barra de tareas!

Y claro, así no... Ahora bien. ¿Alguien sabe de alguna otra solución? Tenindo en cuenta que hay que partir del Handle de la ventana de una aplicación. ¿Quizás es posible "refrescar" la ventana? Por ejemplo, si utilizo la función "FlashWindow()", parece que, efectivamente, la ventana se refresca y aparece la barra de título, pero, claro, también se ve el efecto "Flash", y eso no interesa.

En fin. A ver si alguien puede echarme una pierna con esto. Y muchas gracias de antemano.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita