我想设置AllowGrayed为False,并根据Inno Setup网站,这似乎是应该如何做,但编译时,我不断收到“未知标识符”'ALLOWGRAYED'“错误。我敢肯定这是我忽略的一件简单的事情。Inno安装使用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? – TLama
我不想禁用该复选框。我想要禁用Option2复选框上的灰色状态,因为它是Option3的父项。当选项2被选中而选项3不被选中时,选项2显示为灰色的复选标记,这会让用户感到困惑,因为它看起来就像是盒子没有被启用。 – user1704321
如果您有一个父项目的多个子项目,那么您必须在父项目上呈灰色状态。如果您只有一个父项目的一个子项目,那么将其作为一个子项目没有意义。 –