Inno setup Inno设置:确保用户已阅读信息页面

Inno setup Inno设置:确保用户已阅读信息页面,inno-setup,Inno Setup,我有一个信息页面,该页面使用infobefore文件激活: 我想: 添加一个复选框(或两个复选框),用户必须选中该复选框以表明他已注意到该信息 只有在正确选中复选框时,才允许用户继续。我想禁用“下一步”按钮或显示消息框,任何更简单的方法都可以 有没有简单的方法可以做到这一点?只需在InfoBeforePage页面上添加一个新的复选框。并根据复选框状态更新下一个按钮的状态 [设置] InfoBeforeFile=infobefore.txt [守则] 变量 检查前信息:TNewCheckBox

我有一个
信息
页面,该页面使用infobefore文件激活:

我想:

  • 添加一个复选框(或两个复选框),用户必须选中该复选框以表明他已注意到该信息

  • 只有在正确选中复选框时,才允许用户继续。我想禁用“下一步”按钮或显示消息框,任何更简单的方法都可以


有没有简单的方法可以做到这一点?

只需在
InfoBeforePage
页面上添加一个新的复选框。并根据复选框状态更新下一个按钮的状态

[设置]
InfoBeforeFile=infobefore.txt
[守则]
变量
检查前信息:TNewCheckBox;
阅读前的程序检查信息;
开始
{仅当选中InfoBeforeCheck或}时才启用下一个按钮
{安装程序正在静默模式下运行}
WizardForm.NextButton.Enabled:=InfoBeforeCheck.Checked或WizardSilent;
结束;
过程信息预检查单击(发件人:ToObject);
开始
{每当切换InfoBeforeCheck时,更新Next按钮的状态}
阅读前检查信息;
结束;
过程初始化Wizard();
开始
InfoBeforeCheck:=TNewCheckBox.Create(WizardForm);
InfoBeforeCheck.Parent:=WizardForm.InfoBeforePage;
{遵循许可证页面布局}
InfoBeforeCheck.Top:=WizardForm.LicenseNotAcceptedRadio.Top;
InfoBeforeCheck.Left:=WizardForm.LicenseNotAcceptedRadio.Left;
InfoBeforeCheck.Width:=WizardForm.LicenseNotAcceptedRadio.Width;
InfoBeforeCheck.Height:=WizardForm.LicenseNotAcceptedRadio.Height;
InfoBeforeCheck.Caption:=“我发誓我读过这个”;
InfoBeforeCheck.OnClick:=@InfoBeforeCheck单击;
{使InfoBeforeMoom和InfoBeforeCheck之间的间隔相同}
{作为LicenseMemo和LicenseAcceptedRadio之间的差距}
WizardForm.InfoBeforeMoom.Height:=
((WizardForm.licensemo.Top+WizardForm.licensemo.Height)-
WizardForm.InfoBeforeMemo.Top)+
(InfoBeforeCheck.Top-WizardForm.LicenseAcceptedRadio.Top);
结束;
过程CurPageChanged(CurPageID:Integer);
开始
如果CurPageID=wpInfoBefore,则
开始
{下一步按钮的初始状态}
阅读前检查信息;
结束;
结束;

我提出了与之完全相同的解决方案。
[Setup]
InfoBeforeFile=infobefore.txt