Inno Setup: allineamento del pulsante personalizzato con il pulsante Annulla

Aug 19 2020

Ho problemi a impostare un pulsante sulla stessa dimensione del pulsante Annulla quando lo uso WizardSizePercent = 150nella Setupsezione.

Ecco il mio codice:

AboutButton := TNewButton.Create(WizardForm);
AboutButton.Parent := WizardForm;
AboutButton.Left := WizardForm.CancelButton.Left;
AboutButton.Top := WizardForm.CancelButton.Top;
AboutButton.Width := WizardForm.CancelButton.Width;
AboutButton.Height := WizardForm.CancelButton.Height;

Penso che Inno Setup non si accorga di WizardSizePercent, perché utilizza solo la WizardFormdimensione normale .

Risposte

1 MartinPrikryl Aug 19 2020 at 14:14

Presumo che il tuo codice sia in InitializeWizard. Quella funzione evento si verifica prima dell'applicazione WizardSizePercent. Se vuoi che il tuo pulsante si allinei correttamente quando la finestra della procedura guidata cambia dimensione, a causa di WizardSizePercento WizardResizable, devi seguire la loro documentazione:

Usa Anchorse KeepSizeYle proprietà per aggiungere il supporto completo per WizardResizablee WizardSizePercentper tutti i controlli personalizzati, pagine della procedura guidata personalizzati e TSetupFormforme, se ne avete. Vedere lo script di esempio CodeClasses.iss per un esempio.

Quindi in particolare:

AboutButton.Anchors := WizardForm.CancelButton.Anchors;

CancelButton.Anchorsè [akRight, akBottom]. Se il pulsante "Informazioni" deve essere allineato a sinistra, utilizza:

AboutButton.Anchors := [akLeft, akBottom];