Inno设置:添加按钮操作以跳至下一页

时间:2014-10-06 15:52:49

标签: inno-setup

在Inno安装程序安装程序中,我需要一个单独的自定义按钮来模仿单击下一个按钮的行为,它是否可以应用于自定义按钮的OnClick处理程序来执行此操作?

1 个答案:

答案 0 :(得分:7)

你可以手动触发下一个按钮的OnClick事件(例如这里唯一的参数是Sender,它通常是触发事件的对象,但在原始的下一个按钮单击事件处理程序忽略此参数,所以让我们在那里传递一个空的nil对象:

WizardForm.NextButton.OnClick(nil);

剩下的就是创建自己的按钮并调用上面的代码来模仿下一个按钮点击,例如:

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program

[Code]
procedure MyNextButtonClick(Sender: TObject);
begin
  WizardForm.NextButton.OnClick(nil);
end;

procedure InitializeWizard;
var
  MyNextButton: TNewButton;
begin
  MyNextButton := TNewButton.Create(WizardForm);
  MyNextButton.Parent := WizardForm;
  MyNextButton.Left := 10;
  MyNextButton.Top := WizardForm.NextButton.Top;
  MyNextButton.Caption := 'Click me!';
  MyNextButton.OnClick := @MyNextButtonClick;
end;