2011-09-08 48 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的新聞組是非常有益的。