2011-09-08 55 views
5

我想在运行时禁用或隐藏某个组件选项。我用两个单选按钮创建了一个自定义向导页面。如果选中第一个单选按钮,我希望其中一个组件(CustomInstall)不出现,或者至少禁用。Inno Setup:在运行时隐藏/禁用组件

当然,自定义页面出现在“组件”页面之前。

我试图用Check:参数来做到这一点,但看起来[Components]部分是在启动时评估的,而不是在显示页面时评估的。所以我的下一个想法是添加一些代码到我的CurPageChanged(),以便我可以从CheckListBox(我认为它叫做ComopnentsList)中删除或禁用该项目,但是我无法在TNewCheckListBox上找到任何文档。

有没有人知道更多关于这个类?我在想什么工作?

回答

9

这里是我落得这样做:

if CurPageID=wpSelectComponents then 
begin 
    if ExtraOptionAvailable() then 
    begin 
    Wizardform.ComponentsList.Checked[6] := true; 
    Wizardform.ComponentsList.ItemEnabled[6] := true; 
    end else begin 
    Wizardform.ComponentsList.Checked[6] := false; 
    Wizardform.ComponentsList.ItemEnabled[6] := false; 
    end; 
end; 

http://www.jrsoftware.org/newsgroups.php搜索的Inno Setup的新闻组是非常有益的。