Inno Setup - alignement du bouton personnalisé avec le bouton Annuler

Aug 19 2020

J'ai eu des problèmes pour définir un bouton sur la même taille supérieure que le bouton Annuler lorsque j'utilise WizardSizePercent = 150dans la Setupsection.

Voici mon code:

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;

Je pense qu'Inno Setup ne le remarque pas WizardSizePercent, car il n'utilise que la WizardFormtaille normale .

Réponses

1 MartinPrikryl Aug 19 2020 at 14:14

Je suppose que votre code est dans InitializeWizard. Cette fonction d'événement se produit avant WizardSizePercentson application. Si vous souhaitez que votre bouton s'aligne correctement lorsque la fenêtre de l'assistant change de taille, soit en raison de, WizardSizePercentsoit WizardResizable, vous devez suivre leur documentation:

Utilisez Anchorset KeepSizeYpropriétés pour ajouter une prise en charge complète de WizardResizableet WizardSizePercentà tous vos contrôles personnalisés, pages d'assistant personnalisé et TSetupFormformulaires si vous en avez. Voir l' exemple de script CodeClasses.iss pour un exemple.

Alors particulièrement:

AboutButton.Anchors := WizardForm.CancelButton.Anchors;

CancelButton.Anchorsest [akRight, akBottom]. Si votre bouton "À propos" doit être aligné à gauche, utilisez:

AboutButton.Anchors := [akLeft, akBottom];