Ver Mensaje Individual
  #6  
Antiguo 17-01-2014
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
FideRosado,

Cita:
Empezado por FideRosado
...me da un error en Windows XP...
Te comento:

1- La Barra de Progreso Infinita funciona correctamente en Windows XP Professional x32.

2- El error que se presenta en Windows XP no esta asociado al estilo PBS_MARQUEE que permite implementar la Barra de Progreso Infinita, si no en el estilo PBS_SMOOTH el cual no es soportado en XP Themes.

Revisa este código:
Código Delphi [-]
// Disable ProgressBar Infinito
procedure TForm1.Button2Click(Sender: TObject);
begin
   SendMessage(ProgressBar1.Handle, PBM_SETMARQUEE, Integer(False), 0);
   if SysUtils.Win32MajorVersion >= 6 then // Verifica la versión de Windows
   begin
      CS := GetWindowLong(ProgressBar1.Handle, GWL_STYLE);
      CS := CS or PBS_SMOOTH;
      SetWindowLong(ProgressBar1.Handle, GWL_STYLE, CS);
      SendMessage(ProgressBar1.Handle, PBS_SMOOTH, Integer(False), 0);
   end;
end;
El código anterior permite detener la ejecución de la Barra de Progreso Infinita y no aplica el estilo PBS_SMOOTH si la versión de Windows es inferior a Windows Vista.

Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 17-01-2014 a las 08:54:15.
Responder Con Cita