【发布时间】:2012-09-27 18:56:56
【问题描述】:
我正在尝试将 AllowGrayed 设置为 False,根据 Inno Setup 站点,这似乎应该如何完成,但在编译时我不断收到“Unknown Identifier ''ALLOWGRAYED'”错误。我确定我忽略了一些简单的事情。
CompCheckListBox := TNewCheckListBox.Create(CompPage);
CompCheckListBox.Top := StaticText.Top + StaticText.Height + ScaleY(8);
CompCheckListBox.Width := CompPage.SurfaceWidth;
CompCheckListBox.Height := ScaleY(180);
CompCheckListBox.Flat := True;
CompCheckListBox.AllowGrayed := False;
CompCheckListBox.Parent := CompPage.Surface;
CompCheckListBox.AddCheckBox('Option1', '', 0, False, True, False, True, nil);
CompCheckListBox.AddCheckBox('Option2', '', 0, False, True, True, True, nil);
CompCheckListBox.AddCheckBox('Option3', '', 1, False, True, False, False, nil);
感谢您的帮助。
【问题讨论】:
-
这显然是 InnoSetup 文档中的一个错误。要禁用
TNewCheckListBox中的特定复选框,您可以在AddCheckBox方法中指定启用状态或显式使用ItemEnabled属性。你为什么将AllowGrayed初始化为 False 呢? -
我不想禁用该复选框。我想禁用 Option2 复选框上的灰色状态,因为它是 Option3 的父项。选中选项2并opect3不是,option2显示为灰色的校验标记,该校验标记使用户混淆,因为它看起来像它的盒子也没有启用。 span>
-
如果您有一个父项的多个子项,那么您必须在父项上具有灰色状态。如果您只有一个父项的子项,那么将其设为子项是没有意义的。
-
如果我想给用户一个他们可以安装的可选程序依赖于另一个程序,你会建议我做什么?一个子项目似乎是要走的路。
标签: installation inno-setup pascal