Inno Setup 如果选中另一个复选框则禁用复选框
Inno Setup Disable checkbox if another checkbox is selected
如果另一个复选框被选中,我需要禁用一些复选框。
我怎样才能做到这一点?
这是我的代码:
procedure InitializeWizard();
begin
AddonPage:= CreateCustomPage(wpSelectTasks,'','Please choose BlueDose preference:');
CheckListBox := TNewCheckListBox.Create(AddonPage);
CheckListBox.BorderStyle := bsNone;
CheckListBox.ParentColor := True;
CheckListBox.MinItemHeight := WizardForm.TasksList.MinItemHeight;
CheckListBox.ShowLines := False;
CheckListBox.WantTabs := True;
CheckListBox.Parent := AddonPage.Surface;
CheckListBox.AddGroup('Select Language:', '', 0, nil);
CheckListBox.AddCheckBox('Italian', '', 0, False, True, False, true, nil);
CheckListBox.AddCheckBox('English', '', 0, False, True, False, true, nil);
end;
看起来您根本不需要复选框,您需要单选按钮:
CheckListBox.AddRadioButton('Italian', '', 0, False, True, nil);
CheckListBox.AddRadioButton('English', '', 0, False, True, nil);
您也可以考虑使用 CreateInputOptionPage
而不是通用 CreateCustomPage
。您的代码会简单得多:
var
AddonPage: TInputOptionWizardPage;
procedure InitializeWizard();
begin
AddonPage :=
CreateInputOptionPage(
wpSelectTasks, '', 'Please choose BlueDose preference:', 'Select language',
True, False);
AddonPage.Add('Italian');
AddonPage.Add('English');
end;
如果另一个复选框被选中,我需要禁用一些复选框。
我怎样才能做到这一点?
这是我的代码:
procedure InitializeWizard();
begin
AddonPage:= CreateCustomPage(wpSelectTasks,'','Please choose BlueDose preference:');
CheckListBox := TNewCheckListBox.Create(AddonPage);
CheckListBox.BorderStyle := bsNone;
CheckListBox.ParentColor := True;
CheckListBox.MinItemHeight := WizardForm.TasksList.MinItemHeight;
CheckListBox.ShowLines := False;
CheckListBox.WantTabs := True;
CheckListBox.Parent := AddonPage.Surface;
CheckListBox.AddGroup('Select Language:', '', 0, nil);
CheckListBox.AddCheckBox('Italian', '', 0, False, True, False, true, nil);
CheckListBox.AddCheckBox('English', '', 0, False, True, False, true, nil);
end;
看起来您根本不需要复选框,您需要单选按钮:
CheckListBox.AddRadioButton('Italian', '', 0, False, True, nil);
CheckListBox.AddRadioButton('English', '', 0, False, True, nil);
您也可以考虑使用 CreateInputOptionPage
而不是通用 CreateCustomPage
。您的代码会简单得多:
var
AddonPage: TInputOptionWizardPage;
procedure InitializeWizard();
begin
AddonPage :=
CreateInputOptionPage(
wpSelectTasks, '', 'Please choose BlueDose preference:', 'Select language',
True, False);
AddonPage.Add('Italian');
AddonPage.Add('English');
end;