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
[-]
procedure TForm1.Button2Click(Sender: TObject);
begin
SendMessage(ProgressBar1.Handle, PBM_SETMARQUEE, Integer(False), 0);
if SysUtils.Win32MajorVersion >= 6 then 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.