В попытке ответить на ваш вопрос напрямую.
Я подозреваю, что вы использовали CreateInputOptionPage()
, который возвращает TInputOptionWizardPage
У него есть метод .Add ('Example') `, который вы упомянули.
TInputOptionWizard
спускается TWizardPage
, что происходит от TComponent
, в котором есть необходимые вам методы.
Обновление: Заменен оригинальный код, этот пример основан на обзоре параметров, доступных в InnoSetupИсходный код ScriptClasses_C.pas Мой оригинальный пример, я думал, что TRadioButton
и TCheckBox
, где отдельные элементы управления.Вместо этого они называют один элемент управления TNewCheckListBox
.Есть несколько способов, которыми кто-то может это осуществить, но самый безопасный способ - использовать.
Этот пример представляет собой полный сценарий установки Inno.
[Setup]
AppName='Test Date Script'
AppVerName='Test Date Script'
DefaultDirName={pf}\test
[Code]
const
cCheckBox = false;
cRadioButton = true;
var
Opt : TInputOptionWizardPage;
function BoolToStr(Value : Boolean) : String;
begin
if Value then
result := 'true'
else
result := 'false';
end;
procedure ClickEvent(Sender : TObject);
var
Msg : String;
I : Integer;
begin
// Click Event, allowing inspection of the Values.
Msg := 'The Following Items are Checked' +#10#13;
Msg := Msg + 'Values[0]=' + BoolToStr(Opt.Values[0]) +#10#13;
Msg := Msg + 'Values[1]=' + BoolToStr(Opt.Values[1]) +#10#13;
Msg := Msg + 'Values[2]=' + BoolToStr(Opt.Values[2]);
MsgBox(Msg,mbInformation,MB_OK);
end;
procedure InitializeWizard();
var
I : Integer;
ControlType : Boolean;
begin
ControlType := cCheckBox;
Opt := CreateInputOptionPage(1,'Caption','Desc','SubCaption',ControlType, false);
Opt.Add('Test1');
Opt.Add('Test2');
Opt.Add('Test3');
// Assign the Click Event.
Opt.CheckListBox.OnClickCheck := @ClickEvent;
end;