如何使新添加的复选框与任务一起工作?

2023-12-11

我已在我的 inno 设置任务页面添加了新的复选框,但我不知道如何使它们与任务一起工作,我希望它们与脚本中的 [任务] 区域一起工作。

[Tasks]
Name: "Newcheckboox1"; Description: "Newcheckbox1"; MinVersion: 0.0,5.0
Name: "Newcheckboox2"; Description: "Newcheckbox2"; MinVersion: 0.0,5.0
other tasks checkboxes here.........

这是一张图片:

这里是添加复选框时生成的代码:

[Code]
{ RedesignWizardFormBegin } // Don't remove this line!
// Don't modify this section. It is generated automatically.
var
  NewGroupBox1: TNewGroupBox;
  NewCheckBox1: TNewCheckBox;
  NewCheckBox2: TNewCheckBox;
  NewCheckBox3: TNewCheckBox;
  NewGroupBox2: TNewGroupBox;
  NewCheckBox4: TNewCheckBox;
  NewCheckBox5: TNewCheckBox;
  NewGroupBox3: TNewGroupBox;
  NewCheckBox6: TNewCheckBox;
  NewCheckBox7: TNewCheckBox;
  NewCheckBox8: TNewCheckBox;

procedure RedesignWizardForm;
begin
  with WizardForm.SelectTasksLabel do
  begin
    Visible := False;
    Left := ScaleX(392);
  end;

  { NewGroupBox1 }
  NewGroupBox1 := TNewGroupBox.Create(WizardForm);
  with NewGroupBox1 do
  begin
    Parent := WizardForm.SelectTasksPage;
    Left := ScaleX(0);
    Top := ScaleY(0);
    Width := ScaleX(145);
    Height := ScaleY(238);
    Caption := 'NewGroupBox1';
  end;

  { NewCheckBox1 }
  NewCheckBox1 := TNewCheckBox.Create(WizardForm);
  with NewCheckBox1 do
  begin
    Parent := NewGroupBox1;
    Left := ScaleX(8);
    Top := ScaleY(16);
    Width := ScaleX(97);
    Height := ScaleY(17);
    Caption := 'NewCheckBox1';
  end;

  { NewCheckBox2 }
  NewCheckBox2 := TNewCheckBox.Create(WizardForm);
  with NewCheckBox2 do
  begin
    Parent := NewGroupBox1;
    Left := ScaleX(8);
    Top := ScaleY(40);
    Width := ScaleX(97);
    Height := ScaleY(17);
    Caption := 'NewCheckBox2';
  end;

  { NewCheckBox3 }
  NewCheckBox3 := TNewCheckBox.Create(WizardForm);
  with NewCheckBox3 do
  begin
    Parent := NewGroupBox1;
    Left := ScaleX(8);
    Top := ScaleY(64);
    Width := ScaleX(97);
    Height := ScaleY(17);
    Caption := 'NewCheckBox3';
  end;

  NewCheckBox1.TabOrder := 0;
  NewCheckBox2.TabOrder := 1;
  NewCheckBox3.TabOrder := 2;

  { NewGroupBox2 }
  NewGroupBox2 := TNewGroupBox.Create(WizardForm);
  with NewGroupBox2 do
  begin
    Parent := WizardForm.SelectTasksPage;
    Left := ScaleX(152);
    Top := ScaleY(0);
    Width := ScaleX(265);
    Height := ScaleY(97);
    Caption := 'NewGroupBox2';
  end;

  { NewCheckBox4 }
  NewCheckBox4 := TNewCheckBox.Create(WizardForm);
  with NewCheckBox4 do
  begin
    Parent := NewGroupBox2;
    Left := ScaleX(8);
    Top := ScaleY(16);
    Width := ScaleX(97);
    Height := ScaleY(17);
    Caption := 'NewCheckBox4';
  end;

  { NewCheckBox5 }
  NewCheckBox5 := TNewCheckBox.Create(WizardForm);
  with NewCheckBox5 do
  begin
    Parent := NewGroupBox2;
    Left := ScaleX(8);
    Top := ScaleY(40);
    Width := ScaleX(97);
    Height := ScaleY(17);
    Caption := 'NewCheckBox5';
  end;

  NewCheckBox4.TabOrder := 0;
  NewCheckBox5.TabOrder := 1;

  { NewGroupBox3 }
  NewGroupBox3 := TNewGroupBox.Create(WizardForm);
  with NewGroupBox3 do
  begin
    Parent := WizardForm.SelectTasksPage;
    Left := ScaleX(152);
    Top := ScaleY(96);
    Width := ScaleX(265);
    Height := ScaleY(142);
    Caption := 'NewGroupBox3';
  end;

  { NewCheckBox6 }
  NewCheckBox6 := TNewCheckBox.Create(WizardForm);
  with NewCheckBox6 do
  begin
    Parent := NewGroupBox3;
    Left := ScaleX(16);
    Top := ScaleY(24);
    Width := ScaleX(97);
    Height := ScaleY(17);
    Caption := 'NewCheckBox6';
  end;

  { NewCheckBox7 }
  NewCheckBox7 := TNewCheckBox.Create(WizardForm);
  with NewCheckBox7 do
  begin
    Parent := NewGroupBox3;
    Left := ScaleX(16);
    Top := ScaleY(48);
    Width := ScaleX(97);
    Height := ScaleY(17);
    Caption := 'NewCheckBox7';
  end;

  { NewCheckBox8 }
  NewCheckBox8 := TNewCheckBox.Create(WizardForm);
  with NewCheckBox8 do
  begin
    Parent := NewGroupBox3;
    Left := ScaleX(16);
    Top := ScaleY(72);
    Width := ScaleX(97);
    Height := ScaleY(17);
    Caption := 'NewCheckBox8';
  end;

  NewCheckBox6.TabOrder := 0;
  NewCheckBox7.TabOrder := 1;
  NewCheckBox8.TabOrder := 2;

  NewGroupBox1.TabOrder := 2;
  NewGroupBox2.TabOrder := 3;
  NewGroupBox3.TabOrder := 4;

{ ReservationBegin }
  // This part is for you. Add your specialized code here.

{ ReservationEnd }
end;
// Don't modify this section. It is generated automatically.
{ RedesignWizardFormEnd } // Don't remove this line!

procedure InitializeWizard();
begin
  RedesignWizardForm;
end;

你不能“让他们与Tasks"。那没有意义。唯一的目的就是Tasks是自动创建复选框“选择附加任务”页。当您以编程方式创建复选框时,没有什么Tasks最重要的是会给你。

如果您想使用自定义复选框as Tasks, use Check范围, 代替Tasks.

[Files]
Source: "MyProg.exe"; DestDir: "{app}"; Check: IsCustomTask1Selected

[Code]

var
  NewCheckBox1: TNewCheckBox;

function IsCustomTask1Selected: Boolean;
begin
  Result := NewCheckBox1.Checked;
end;

完整的解决方案请参见如何将 Inno Setup 任务页面的任务列表拆分为多列?

它适用于正确的 Inno Setup 的最新版本,无需来源可疑的过时的自定义构建 Inno Setup。


旁注:

  • 我建议你使用TNewCheckListBox, 代替TNewGroupBox带有单独的复选框。
  • 5.5.1 是非常旧的版本,存在许多安全问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使新添加的复选框与任务一起工作? 的相关文章

随机推荐

  • 单击复选框数据动态保存到数据库

    当我选中复选框时 我需要一些 js ajax jquery 脚本将数据动态保存到数据库 此时的复选框或加载到记录旁边 并根据是否选中来更改数据库中的变量 但是在我选择一个将其保存到数据库后 我必须重新加载页面 我可以做其他所有事情 但了解如
  • 如何在 React JSX 中使用“< >”

    如何在 React 中使用 作为文本 我想将它用于我的投资组合 你需要使用HTML 实体 HTML 中的保留字符必须替换为字符实体 Result Description Entity Name Entity Number lt less t
  • Kivy:如何将复选框设置为在启动时选中

    如何将 id 设置为蓝色的复选框的状态设置为在启动时检查 我使用 python 3 6 和 Kivy 1 9 2 dev0 我以为线条blue ObjectProperty True in py and value root blue in
  • jQuery 滑块范围:将范围应用为表行的过滤器

    在我的实习中 我必须为表格创建一个过滤器 该过滤器必须仅显示您给定的值之间的行 我使用 jQuery UIrange slider我有一个普通的 HTML 表格 我无法让它工作 我尝试了很多不同的事情 这是我的代码 function sli
  • 在饼图中显示附加值

    我有这个饼图数据的示例 import javafx application Application import javafx collections FXCollections import javafx collections Obse
  • 表单视觉隐藏字段和所需验证使用

    我有一个带有隐藏字段的 HTML5 Bootstrap 表单 style display none 我通过 jQuery 显示 隐藏 show hide 对于字段验证 我使用属性required 我希望所有隐藏字段均按要求显示 但当其中一些
  • PHP将抄送插入邮件功能[重复]

    这个问题在这里已经有答案了 可能的重复 PHP 邮件 抄送字段 我正在使用以下 php 发送电子邮件 我需要将抄送添加到我的电子邮件中 当我尝试插入标头时 html 消息显示原始 html 处理抄送的最佳方式是什么 Thanks heade
  • TS(2352) 声明具有动态属性的对象和一个具有特定类型的属性

    我需要创建一个对象 该对象将包含一个名为 state 的属性 该属性将具有通用类型 所有其他属性将是具有覆盖上下文的函数 我不确定这是否可能 因此我决定写在这里 我有一个代码 declare interface ContextModule
  • MySQL 连接运算符

    我不知道 MySQL 的连接运算符 我已经尝试过这段代码用于串联 SELECT vend name vend country FROM Vendors ORDER BY vend name 但这没有用 我应该使用哪个运算符来连接字符串 是
  • golang json 和接口切片

    我在迭代包含接口切片的接口切片时遇到问题 此问题是在尝试使用返回 JSON 数据的 API 调用时出现的 返回的数据相当多 并且结构根据请求的不同而有很大差异 API 文档中也没有 JSON 响应的结构 因此我尝试实现一些处理任意 JSON
  • 如何后台加载sapui5资源

    在我们的应用程序中 我们加载了许多 SAPUI5 库 index html 有以下代码来加载 SAPUI5 资源 在我们的 web xml 中我们已经提到https sapui5 hana on
  • dotnet 不支持多重继承。但多接口支持吗? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的多重继承 dotnet 不支持多重继承 但多种接口支持 为什么会存在这种行为 有具体原因吗 您可以使用接口模拟多重继承 如果允许类的多重继承 则会导致钻石问题 由于不支持多重继承的原因 我建议
  • IF 条件 - 连接多列

    我需要统计一个术语出现的次数 不幸的是 这些术语组织得不好 因此一个术语可能会出现在多个列中 所以我不能只使用 If A1 HEALTH 1 0 因为HEALTH出现在多个列 A B C 等中 我尝试过嵌套 IF A1 HEALTH 1 I
  • 为什么 TF-IDF 的值与 IDF_ 不同?

    为什么向量化语料的值与通过向量化得到的值不一样idf 属性 不应该idf 属性只是以与语料库矢量化中出现的相同方式返回逆文档频率 IDF from sklearn feature extraction text import TfidfVe
  • 只有一个底层锁的读写锁?

    我已经使用 Python 的并发原语编写了一个读写锁 我认为 我在 SO 或其他地方读到的每个实现似乎都使用 2 个锁 一个用于读取 另一个用于写入 我的实现只包含一个用于读取的监视器 但我可能遗漏了一些重要的东西 任何人都可以确认这会起作
  • 电晕将单选按钮转换为数字文本框(lua)

    我正在尝试创建一个有关医疗保健的移动应用程序 我必须创建一个类似调查的应用程序来筛选患者 现在我已经使用单选按钮完成了调查的一部分 另一部分也看起来像这样 见下图 但我希望单选按钮更改为数字文本框 我的应用程序看起来像这样 现在我想将单选按
  • lapply 代替 for 循环进行随机假设检验 r

    我有一个看起来像这样的 df set seed 42 ID lt sample 1 30 100 rep T Trait lt sample 0 1 100 rep T Year lt sample 1992 1999 100 rep T
  • Rails table_name_prefix 未按预期工作

    我正在使用 Rails 4 我有app models admin rb and app models admin retention email rb有这样的东西 app models admin rb module Admin def s
  • 在 Javascript 中监听我的 Flash 事件

    我正在尝试使用 OVP 播放器构建一个带有播放列表的基本视频播放器 到目前为止 我已经弄清楚如何使用ExternalInterface输入新的视频源 但我不知道如何侦听Flash事件 EVENT END OF ITEM 如何在 Javasc
  • 如何使新添加的复选框与任务一起工作?

    我已在我的 inno 设置任务页面添加了新的复选框 但我不知道如何使它们与任务一起工作 我希望它们与脚本中的 任务 区域一起工作 Tasks Name Newcheckboox1 Description Newcheckbox1 MinVe