1. Уважаемые гости и пользователи форума.
    Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
    Аккаунты, зарегистрированные на временную почту будут также заблокированы.

Вопрос Как дублировать кнопку вперёд с другим текстом

Тема в разделе "Inno Setup", создана пользователем DICE, 21 авг 2018.

  1. Пользователь

    Регистрация:
    21 ноя 2016
    Сообщения:
    28
    Симпатии:
    2
    Собираю инсталл, нужно, что-бы были две кнопки вперёд, но с разным текстом и дизайном.
     
  2. Ветеран Супер модератор

    Регистрация:
    5 мар 2016
    Сообщения:
    370
    Симпатии:
    396
    Пол:
    Мужской
    DICE,

    Код (Inno):
    [Setup]
    AppName=Test
    AppVerName=Test
    CreateAppDir=no

    [Files]
    Source: Files\*; Flags: dontcopy

    [Modules]
    #include "Modules\botva2.iss"

    [Code]
    var
      BtnNext: hWnd;

    procedure SetStateNewButtons;
    begin
    with WizardForm.NextButton do begin
      BtnSetVisibility(BtnNext, Visible);
      BtnSetEnabled(BtnNext, Enabled);
     end;
    //или другая кнопка
    end;

    procedure BtnClick(hBtn: hWnd);
    var
      Btn:TButton;
    begin
      case hBtn of
        BtnNext: Btn:=WizardForm.NextButton;
      //или другая кнопка
      end;
      Btn.OnClick(Btn);
      SetStateNewButtons;
      BtnRefresh(hBtn);
    end;

    procedure InitializeWizard;
    begin
    with WizardForm do begin
      InnerNotebook.Hide;
      OuterNotebook.Hide;
      Bevel.Hide;
      //создание новой NextButton
      BtnNext:=BtnCreate(Handle, ScaleX(NextButton.Left), ScaleY(NextButton.Top - 28), ScaleX(NextButton.Width), ScaleY(NextButton.Height), 'button.png', 0, False);
      BtnSetEvent(BtnNext, BtnClickEventID, WrapBtnCallback(@BtnClick, 1));
      BtnSetFontColor(BtnNext, clBlack, clBlack, clBlack, clBlack);
     end;
    end;

    procedure CurPageChanged(CurPageID: Integer);
    begin
    case CurPageID of
      wpWelcome: BtnSetText(BtnNext, '----->');
      wpReady: BtnSetText(BtnNext, 'Install');
     end;
    end;

    function InitializeSetup:boolean;
    begin
      if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
      if not FileExists(ExpandConstant('{tmp}\CallbackCtrl.dll')) then ExtractTemporaryFile('CallbackCtrl.dll');
      Result:=True;
    end;

    procedure DeinitializeSetup;
    begin
      gdipShutdown;
    end; DICE,
     
  3. Ветеран Модератор

    Регистрация:
    26 июн 2011
    Сообщения:
    1.185
    Симпатии:
    759
    - лишний код
    Код (Inno):
    [Setup]
    AppName=Test
    AppVerName=Test
    CreateAppDir=no

    [Files]
    Source: Files\*; Flags: dontcopy

    [Modules]
    #include "Modules\botva2.iss"

    [Code]
    var
      BtnNext: hWnd;

    procedure BtnNextClick(hBtn: hWnd);
    begin
      WizardForm.NextButton.OnClick(nil);
    end;

    procedure InitializeWizard;
    begin
    with WizardForm do begin
      InnerNotebook.Hide;
      OuterNotebook.Hide;
      Bevel.Hide;
      //создание новой NextButton
      BtnNext:=BtnCreate(Handle,  NextButton.Left, NextButton.Top - ScaleY(28), NextButton.Width, NextButton.Height, 'button.png', 0, False);
      BtnSetEvent(BtnNext, BtnClickEventID, CallbackAddr('BtnNextClick'));
      BtnSetFontColor(BtnNext, clBlack, clBlack, clBlack, clBlack);
    end;
    end;

    procedure CurPageChanged(CurPageID: Integer);
    begin
    case CurPageID of
      wpWelcome: BtnSetText(BtnNext, '----->');
      wpReady: BtnSetText(BtnNext, 'Install');
    end;
    end;

    function InitializeSetup:boolean;
    begin
      if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
      Result:=True;
    end;

    procedure DeinitializeSetup;
    begin
      gdipShutdown;
    end;
     
     

Поделиться этой страницей