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

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

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

  1. Старожил

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

    Регистрация:
    5 мар 2016
    Сообщения:
    380
    Симпатии:
    402
    Пол:
    Мужской
    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.212
    Симпатии:
    781
    - лишний код
    Код (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;
     
     

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