Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 1133
Благодарности: 581

Профиль | Отправить PM | Цитировать


Цитата Rostlv:
Serega, приведённый код на Seven работает некорректно »
Переписал код в предыдущем сообщении, теперь должно работать нормально.
Цитата Rostlv:
Где найти код для него »
Только самому написать
Вот накидал простой пример:
Пример

Код: Выделить весь код
; Прогрессбар без отображения реального процента...

[Setup]
AppName=ProgressBarStyle
AppVerName=ProgressBarStyle v 1.0
DefaultDirName={pf}\ProgressBarStyle
OutputDir=.
Compression=lzma/ultra64
InternalCompressLevel=ultra64
SolidCompression=yes
VersionInfoCopyright=Serega

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[Code]
function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; external 'SetWindowLongA@user32.dll stdcall';
function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall';

const
  WM_USER        = $0400;
  PBM_SETMARQUEE = WM_USER + 10;
  GWL_STYLE      = -16;
  PBS_MARQUEE    = $08;

procedure CreateForm;
var
  Form: TSetupForm;
begin
  try
    Form := CreateCustomForm;
    with Form do
      begin
        ClientWidth :=  ScaleX(400);  
        ClientHeight := ScaleY(70);   
        Center;
        Caption := 'Пример';
      end;
    with TLabel.Create(Form) do
      begin
        Parent := Form;
        AutoSize := True;
        Left := ScaleX(12);
        Top := ScaleY(12);
        Font.Size := 9;
        Caption := 'Прогрессбар без отображения реального процента...';
      end;
    with TNewProgressBar.Create(Form) do
      begin
        Parent := Form;
        SetBounds(ScaleX(10), ScaleY(38), Form.ClientWidth - ScaleX(20), ScaleY(17));
        SetWindowLong (Handle, GWL_STYLE, (GetWindowLong (Handle, GWL_STYLE) or PBS_MARQUEE));
        SendMessage(Handle, PBM_SETMARQUEE, 1, 20);
      end;
    Form.ShowModal;
  finally
    Form.Free;
  end;
end;

function InitializeSetup(): Boolean;
begin
  CreateForm;
end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:13, 26-12-2010 | #268