作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法弄清楚为什么我无法在 InitializeWizard
期间操作任务复选框,但我可以使用 CurPageChanged
:
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"
Name: "Option1"; Description: "Option1"
[Code]
procedure CurPageChanged(CurPageID: Integer);
var Index: Integer;
begin
if CurPageID = wpSelectTasks then
begin
Index := WizardForm.TasksList.Items.IndexOf('Option1');
if Index <> -1 then
MsgBox('Touch device checkbox found.', mbInformation, MB_OK); { THIS WORKS!! }
end;
end;
procedure InitializeWizard();
var Index: Integer;
begin
Index := WizardForm.TasksList.Items.IndexOf('Option1');
if Index <> -1 then
MsgBox('Touch device checkbox found.', mbInformation, MB_OK); { THIS DOES NOT WORK }
end;
我不能在 InitializeWizard
中使用 WizardForm.TasksList.Items
吗?我希望能够调用 WizardForm.TasksList.Checked[Index] := False;
或可能禁用它,但我宁愿在初始化时执行它,而不必避免调用代码,如果用户点击后退按钮并返回到 wpSelectTasks
。
最佳答案
因为任务列表是根据所选组件填充的。
因此,任务列表在InitializeWizard
中未知。然而。每当输入 wpSelectTasks
页面时,都会根据选择的组件(重新)生成任务列表。
因此,正如您所发现的,您可以使用 TasksList
的最早时刻是 CurPageChanged(wpSelectTasks)
.
取消选中任务时,请确保在用户返回任务页面时不要取消选中它。实际上,您应该只在第一次访问该页面时取消选中它。
关于inno-setup - Inno Setup : How to use WizardForm. TasksList.InitializeWizard 中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44683765/
我是一名优秀的程序员,十分优秀!