Inno Setup: alinear el botón personalizado con el botón Cancelar

Aug 19 2020

Tengo problemas para configurar un botón en el mismo tamaño superior que el botón Cancelar cuando lo uso WizardSizePercent = 150en la Setupsección.

Aquí está mi código:

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;

Creo que Inno Setup no nota el WizardSizePercent, porque solo usa el WizardFormtamaño normal .

Respuestas

1 MartinPrikryl Aug 19 2020 at 14:14

Supongo que su código está en InitializeWizard. Esa función de evento ocurre antes de que WizardSizePercentse aplique. Si desea que su botón se alinee correctamente cuando la ventana del asistente cambie de tamaño, ya sea debido a WizardSizePercento WizardResizable, debe seguir su documentación:

Utilice Anchorsy KeepSizeYpropiedades para agregar soporte completo para WizardResizabley WizardSizePercenta todos sus controles personalizados, páginas de asistente personalizadas y TSetupFormformularios, si tiene alguno. Consulte el script de ejemplo CodeClasses.iss para ver un ejemplo.

Tan particularmente:

AboutButton.Anchors := WizardForm.CancelButton.Anchors;

CancelButton.Anchorses [akRight, akBottom]. Si su botón "Acerca de" debe estar alineado a la izquierda, use:

AboutButton.Anchors := [akLeft, akBottom];