Ich möchte eine benutzerdefinierte Assistentenseite nach der Seite erstellen, wo Sie den Installationsort auswählen.Inno Setup benutzerdefinierte Seite
Ich habe gesehen, wie Sie benutzerdefinierte Seiten erstellen und sie dem Assistenten in der InitializeWizard
Prozedur hinzufügen.
Mein Problem ist, dass beim Erstellen einer benutzerdefinierten Seite die Standardseite für die Auswahl des Installationsorts nicht mehr angezeigt wird.
Welche Optionen muss ich haben, um die Standardseite (Auswahl des Installationsorts) beizubehalten und auch eine neue benutzerdefinierte Seite hinzuzufügen?
Dank
Mein Code sieht so etwas wie dieses (CodeClasses.iss Beispiel durch inno zur Verfügung gestellt):
procedure CreateTheWizardPages;
var
Page: TWizardPage;
Button, FormButton: TButton;
CheckBox: TCheckBox;
Edit: TEdit;
PasswordEdit: TPasswordEdit;
Memo: TMemo;
Lbl, ProgressBarLabel: TLabel;
ComboBox: TComboBox;
ListBox: TListBox;
StaticText: TNewStaticText;
ProgressBar: TNewProgressBar;
CheckListBox, CheckListBox2: TNewCheckListBox;
FolderTreeView: TFolderTreeView;
BitmapImage, BitmapImage2, BitmapImage3: TBitmapImage;
BitmapFileName: String;
RichEditViewer: TRichEditViewer;
begin
{ TButton and others }
Page := CreateCustomPage(wpWelcome, 'Custom wizard page controls', 'TButton and others');
Button := TButton.Create(Page);
Button.Width := ScaleX(75);
Button.Height := ScaleY(23);
Button.Caption := 'TButton';
Button.OnClick := @ButtonOnClick;
Button.Parent := Page.Surface;
CheckBox := TCheckBox.Create(Page);
CheckBox.Top := Button.Top + Button.Height + ScaleY(8);
CheckBox.Width := Page.SurfaceWidth;
CheckBox.Height := ScaleY(17);
CheckBox.Caption := 'TCheckBox';
CheckBox.Checked := True;
CheckBox.Parent := Page.Surface;
Edit := TEdit.Create(Page);
Edit.Top := CheckBox.Top + CheckBox.Height + ScaleY(8);
Edit.Width := Page.SurfaceWidth div 2 - ScaleX(8);
Edit.Text := 'TEdit';
Edit.Parent := Page.Surface;
PasswordEdit := TPasswordEdit.Create(Page);
PasswordEdit.Left := Page.SurfaceWidth - Edit.Width;
PasswordEdit.Top := CheckBox.Top + CheckBox.Height + ScaleY(8);
PasswordEdit.Width := Edit.Width;
PasswordEdit.Text := 'TPasswordEdit';
PasswordEdit.Parent := Page.Surface;
Memo := TMemo.Create(Page);
Memo.Top := Edit.Top + Edit.Height + ScaleY(8);
Memo.Width := Page.SurfaceWidth;
Memo.Height := ScaleY(89);
Memo.ScrollBars := ssVertical;
Memo.Text := 'TMemo';
Memo.Parent := Page.Surface;
Lbl := TLabel.Create(Page);
Lbl.Top := Memo.Top + Memo.Height + ScaleY(8);
Lbl.Caption := 'TLabel';
Lbl.AutoSize := True;
Lbl.Parent := Page.Surface;
FormButton := TButton.Create(Page);
FormButton.Top := Lbl.Top + Lbl.Height + ScaleY(8);
FormButton.Width := ScaleX(75);
FormButton.Height := ScaleY(23);
FormButton.Caption := 'TSetupForm';
FormButton.OnClick := @FormButtonOnClick;
FormButton.Parent := Page.Surface;
......
procedure InitializeWizard();
var
AboutButton, CancelButton: TButton;
URLLabel: TNewStaticText;
BackgroundBitmapImage: TBitmapImage;
BackgroundBitmapText: TNewStaticText;
begin
{ Custom wizard pages }
CreateTheWizardPages;
{ Other custom controls }
CancelButton := WizardForm.CancelButton;
AboutButton := TButton.Create(WizardForm);
AboutButton.Left := WizardForm.ClientWidth - CancelButton.Left - CancelButton.Width;
AboutButton.Top := CancelButton.Top;
AboutButton.Width := CancelButton.Width;
AboutButton.Height := CancelButton.Height;
AboutButton.Caption := '&About...';
AboutButton.OnClick := @AboutButtonOnClick;
AboutButton.Parent := WizardForm;
URLLabel := TNewStaticText.Create(WizardForm);
URLLabel.Caption := 'www.innosetup.com';
URLLabel.Cursor := crHand;
URLLabel.OnClick := @URLLabelOnClick;
URLLabel.Parent := WizardForm;
{ Alter Font *after* setting Parent so the correct defaults are inherited first }
URLLabel.Font.Style := URLLabel.Font.Style + [fsUnderline];
URLLabel.Font.Color := clBlue;
URLLabel.Top := AboutButton.Top + AboutButton.Height - URLLabel.Height - 2;
URLLabel.Left := AboutButton.Left + AboutButton.Width + ScaleX(20);
BackgroundBitmapImage := TBitmapImage.Create(MainForm);
BackgroundBitmapImage.Left := 50;
BackgroundBitmapImage.Top := 90;
BackgroundBitmapImage.AutoSize := True;
BackgroundBitmapImage.Bitmap := WizardForm.WizardBitmapImage.Bitmap;
BackgroundBitmapImage.Parent := MainForm;
BackgroundBitmapText := TNewStaticText.Create(MainForm);
BackgroundBitmapText.Left := BackgroundBitmapImage.Left;
BackgroundBitmapText.Top := BackgroundBitmapImage.Top + BackgroundBitmapImage.Height + ScaleY(8);
BackgroundBitmapText.Caption := 'TBitmapImage';
BackgroundBitmapText.Parent := MainForm;
end;
Keine sehr klare Antwort; Das sagt nicht wirklich, warum die Originalseite nicht angezeigt wird oder wie man sie zurückbekommt. – Nyerguds