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