Замена переключателей флажком на странице мастера лицензий в программе установки Inno
Есть ли простой способ заменить стандартные 2 переключателя на странице мастера лицензий на один (установлен/снят) флажок в настройках Inno без создания пользовательской страницы?
1 ответ:
Поскольку нет никаких настроек для переключения между переключателями лицензий и некоторыми флажками лицензий (по крайней мере, просто потому, что для этого нет компонента на
WizardForm
), вам нужно создать его самостоятельно.Следующий код скрывает исходные лицензионные переключатели и создает флажок на том же месте при инициализации мастера. Этот флажок лицензии имитирует выбор переключателей в обработчике событий
OnClick
, чтобы сохранить их исходную функциональность. Вот код:, что позволяет получить доступ к флажку лицензия вне области действия события инициализации мастера. Если вам не нужно будет обращаться к этому флажку позже, вы можете использоватьthis version
о должности:[code] var LicenseCheckBox: TNewCheckBox; procedure OnLicenseCheckBoxClick(Sender: TObject); var LicenseAccepted: Boolean; begin LicenseAccepted := (Sender as TNewCheckBox).Checked; WizardForm.LicenseAcceptedRadio.Checked := LicenseAccepted; WizardForm.LicenseNotAcceptedRadio.Checked := not LicenseAccepted; end; procedure InitializeWizard; begin WizardForm.LicenseAcceptedRadio.Hide; WizardForm.LicenseNotAcceptedRadio.Hide; LicenseCheckBox := TNewCheckBox.Create(WizardForm); LicenseCheckBox.Parent := WizardForm.LicensePage; LicenseCheckBox.Left := 0; LicenseCheckBox.Top := WizardForm.LicenseMemo.Top + WizardForm.LicenseMemo.Height + 8; LicenseCheckBox.Width := WizardForm.LicenseMemo.Width; LicenseCheckBox.Caption := ' I accept the license agreement'; LicenseCheckBox.OnClick := @OnLicenseCheckBoxClick; end;