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