Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-02-2012
madiazg madiazg is offline
Miembro
 
Registrado: sep 2005
Ubicación: Canarias
Posts: 120
Poder: 19
madiazg Va por buen camino
Problema al Ocultar automáticamente la Barra de tareas de Windows XP

Hola,
un amigo que utiliza un programa mio tiene un ordenador con Windows XP y una pantalla con poca resolución por lo que tiene configurado en que la barra de tareas se oculte automáticamente.

Mi programa tiene configurada la propiedad BorderStyle = bsNone y WindowState = wsMaximized. Con esta configuración ocupa toda la pantalla y la Barra de Tarea no se muestra la pasar el ratón por la parte inferior de la pantalla. También he probado con BorderStyle = bsSingle y pasa lo mismo. Solo con BorderStyle = bsSizeable la barra de tarea se despliega al pasar el ratón.

¿Alguien sabe como hacer que, aunque BorderStyle = bsNone se despliegue la barra de tarea al pasar el ratón por la parte inferior de la pantalla?

Saludos...
Miguel Angel
Responder Con Cita
  #2  
Antiguo 28-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola madiazg.

Hice este código de prueba para Windows Vista y funciona correctamente:
Código Delphi [-]
...
implementation

const
   TASKBTITLE = 'Shell_TrayWnd';

function FindWindowEx(Parent, Child: HWND; ClassName: Pointer; 
  WindowName: PWideChar): HWND; stdcall; external 'user32.dll' name 'FindWindowExW';

function GetHeightWnd(const AName: string) : integer;
var
  Hnd:HWND;
  R : TRect;
begin
  Hnd:= FindWindow(PChar(AName), nil );
  if Hnd <> 0 then
    GetWindowRect(Hnd, R);
  Result:= R.bottom - R.top
end;

procedure ShowHideTaskBAndStartBtn(const Show: Boolean);
begin
  if Show then
  begin
    ShowWindow(FindWindow(TASKBTITLE, nil), SW_SHOW); // muestra TaskBar
    ShowWindow(FindWindowEx(0, 0, MAKEINTATOM($C017), nil), SW_RESTORE)  // muestra StartButton
  end
  else
  begin
    ShowWindow(FindWindow(TASKBTITLE, nil), SW_HIDE);  // oculta TaskBar
    ShowWindow(FindWindowEx(0, 0, MAKEINTATOM($C017), nil), SW_HIDE)  // oculta StartButton
  end
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  BorderStyle:= bsNone;
  WindowState:= wsMaximized
end;

procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
  if Y >= Height - GetHeightWnd(TASKBTITLE) then
   ShowHideTaskBAndStartBtn(True)
  else
    ShowHideTaskBAndStartBtn(False);
end;

...

(* ¡ No olvides mostrar TaskBar y StartButton al salir ! *)
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ShowHideTaskBAndStartBtn(True)
end;
El problema es que para mostrar/ocultar el botón de inicio es diferente en Vista que en XP. Buscando un poco encontré estas opciones para XP:Sólo tendrías que probar reemplazando el código correspondiente al botón de inicio por el de los enlaces.


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 28-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Amigo funciona bien en XP.
Lo único es que haciendo algunas pruebas me da la impresion de que se presenta mas rápido así:

Código Delphi [-]
ShowWindow(FindWindow(TASKBTITLE, nil), SW_SHOW); // muestra TaskBar
 ShowWindow(FindWindowEx(0, 0, MAKEINTATOM($C017), nil), SW_SHOWNA)  // muestra StartButton

Por cierto (para madiazg), crea un boton (close) en el codigo de mi amigo ecfisa, si no tendras que usar el taskmanager para cerrar el programa.

Muy buen código amigo: Listo y archivado.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 28-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Carlos.
Cita:
Amigo funciona bien en XP.
Buenísimo, gracias por probarlo. No tenía a mano el XP para hacerlo y los códigos de ocultación del StartButton para XP no funcionan en Vista.

Un abrazo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 28-02-2012 a las 04:37:57.
Responder Con Cita
  #5  
Antiguo 28-02-2012
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 17
shoulder Va por buen camino
Ocultar Barra de Windows

Gracias probe este post. y me funcionó bien como ocultar la barra de tareas, pero me surgio una duda, si un usuario abre el prg, oculta la barra y despues por razones varias cancela el prg, la barra queda oculta no pudiendo hacer la sentencia de mostrar barra.
Mi pregunta concreta es : hay alguna instancia en delphi de hacer, como desde la barra de tareas, que se oculta, pero pasando el mouse por abajo la muestra de vuelta y no ocultando de manera permanente?.
El tema es que desde el area de sistema tiene bloqueadas la configuraciones de Windows y las barras estan predefinidas para ser vistas. Solamente lo queria hacer cuando el prg estuviera abierto (no se porque, cuando trabajan en el prg, la barra de tareas oculta la mitad de los botones que estan en la base del prg), pero si queda oculta permanentemente y falla el prg deberan llamar a sistemas.
Saludos.
Responder Con Cita
  #6  
Antiguo 28-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola shoulder.

Realmente no sé si te entendí bién tu planteo. Pero si la propiedad BorderStyle del Form es igual bsSizeable, creo que la solución está desde Windows mismo:

Click derecho sobre el ícono botón de inicio -> Propiedades -> Barra de tareas -> Ocultar automáticamente la barra de tareas.


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 28-02-2012
madiazg madiazg is offline
Miembro
 
Registrado: sep 2005
Ubicación: Canarias
Posts: 120
Poder: 19
madiazg Va por buen camino
Gracias,, funciona correctamente.
Responder Con Cita
  #8  
Antiguo 29-02-2012
shoulder shoulder is offline
Miembro
 
Registrado: abr 2008
Posts: 441
Poder: 17
shoulder Va por buen camino
Ocultar Barra de Windows

Gracias ecfisa, borderstyle esta como vos me decis, el tema es que desde mi maquina donde hice el PRG, se ve perfecto, el mismo termina antes de la barra de tareas, cuando voy a las otras Pcs que tienen la misma resolucion la barra de tarea tapa la mitad de los botones de la parte inferior del PRG y no se el porque- . Por eso preguntaba si desde delphi podia ocultar la barra de tareas en forma parcial que pasando el mouse se vea, ya que la empresa tiene como 90 pcs.

Saludos-
Responder Con Cita
Respuesta



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
Ocultar Barra de Tareas en Windows 7 ctrl_attack Windows 3 11-12-2010 22:20:46
Ocultar mi aplicacion de la barra de tareas en XP! JuanErasmo API de Windows 4 18-04-2006 01:45:11
Ocultar tu aplicación de la barra de tareas DarkByte API de Windows 4 13-09-2003 16:11:32
ocultar aplicacion en la barra de tareas jlcasih API de Windows 5 11-09-2003 20:05:54
Ocultar tu aplicación de la barra de tareas DarkByte Varios 6 09-09-2003 11:18:41


La franja horaria es GMT +2. Ahora son las 02:58:56.


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