0

我正在使用我可以下载的最新版本的 Inno Setup V5。我开发了一个非常可靠的安装脚本。我已将 alwaysreboot 设置为 true,但如果用户选择稍后重新启动,我需要向用户显示一个消息框。如何捕获单选按钮状态。我没有时间完全替换这个 wpFinished 页面,我需要快速完成,所以如果这是唯一的方法,那么我会稍后再做,即使他正在重新启动也会发出警告。谢谢您的帮助。

斯科特贝克斯特德

4

1 回答 1

0

我认为最好是在用户单击完成时检查 wpFinished 页面上单选按钮的状态:

function NextButtonClick(CurPageID: Integer): Boolean;
begin
  if(CurPageID = wpFinished) then
  begin
    // User clicked Finish on Finish page, check state of radio buttons
    if(WizardForm.NoRadio.Checked = True) then
      MsgBox('User selected Reboot Later.', mbInformation, MB_OK);
  end;

  Result := True; // Move to next page
end;

(未经测试,这是我从头开始写的)

如果您想立即对用户操作做出反应,您需要使用 OnClick 事件 (TNotifyEvent):

编写您的处理程序:

procedure ClickEvent(Sender : TObject);
begin
  // Do something here...
end;

分配 Click 事件(在 InitializeWizard() 或任何其他过程中):

WizardForm.YesRadio.OnClick := @ClickEvent; 
or
WizardForm.NoRadio.OnClick := @ClickEvent;  
于 2013-03-28T21:45:53.013 回答