首页 > 解决方案 > Inno Setup - 显示 MsgBox 并单击“确定”返回上一页

问题描述

我有“A”页TOutputMsgWizardPage和“B”页TInputQueryWizardPage

当我单击 B 页面的“下一步”时,显示一个MsgBox包括“确定”和“取消”按钮。当我单击“确定”时,返回“A”页面。

它会发生吗?

关于如何实现这一目标的任何提示?

页面顺序为:WelcomePage => OutputMsgPage => InputQueryPage => SelectDirPage

标签: inno-setupback-buttonpascalscript

解决方案


用于TWizardPage.OnNextButtonClick处理“下一步”按钮点击。

处理“Next”按钮时,您可以模拟按下“Back”按钮返回上一页。

[Code]

var
  OutputMsgPage: TOutputMsgWizardPage;
  InputQueryPage: TInputQueryWizardPage;

function InputQueryPageNextButtonClick(Sender: TWizardPage): Boolean;
begin
  Result := True;

  if MsgBox('Go back?', mbConfirmation, MB_OKCANCEL) = IDOK then
  begin
    WizardForm.BackButton.OnClick(WizardForm.BackButton);

    Result := False;
  end;
end;

procedure InitializeWizard();
begin
  OutputMsgPage := CreateOutputMsgPage(wpWelcome, 'Output page', '', 'Output page');

  InputQueryPage := CreateInputQueryPage(OutputMsgPage.ID, 'Input page', '', 'Input page');
  InputQueryPage.OnNextButtonClick := @InputQueryPageNextButtonClick;
end;

推荐阅读