Inno Setup - จัดปุ่มแบบกำหนดเองให้ตรงกับปุ่มยกเลิก

Aug 19 2020

ฉันมีปัญหาในการตั้งค่าปุ่มบนขนาดเดียวกับปุ่มยกเลิกเมื่อฉันใช้WizardSizePercent = 150ในSetupส่วนนี้

นี่คือรหัสของฉัน:

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;

ฉันคิดว่า Inno Setup ไม่สังเกตเห็นWizardSizePercentเนื่องจากใช้เฉพาะWizardFormขนาดปกติเท่านั้น

คำตอบ

1 MartinPrikryl Aug 19 2020 at 14:14

InitializeWizardผมถือว่ารหัสของคุณอยู่ใน ฟังก์ชันเหตุการณ์นั้นเกิดขึ้นก่อนที่WizardSizePercentจะนำไปใช้ หากคุณต้องการให้ปุ่มของคุณจัดแนวอย่างถูกต้องเมื่อหน้าต่างตัวช่วยสร้างเปลี่ยนขนาดไม่ว่าจะเนื่องจากWizardSizePercentหรือWizardResizableคุณต้องทำตามเอกสารประกอบ:

การใช้งานAnchorsและKeepSizeYคุณสมบัติที่จะเพิ่มการสนับสนุนอย่างเต็มที่สำหรับWizardResizableและWizardSizePercentทุกการควบคุมของคุณเองหน้าตัวช่วยสร้างที่กำหนดเองและTSetupFormรูปแบบหากคุณมี ดูตัวอย่างสคริปต์CodeClasses.issสำหรับตัวอย่าง

โดยเฉพาะอย่างยิ่ง:

AboutButton.Anchors := WizardForm.CancelButton.Anchors;

CancelButton.Anchorsคือ[akRight, akBottom]. หากปุ่ม"เกี่ยวกับ"ของคุณควรจัดชิดซ้ายให้ใช้:

AboutButton.Anchors := [akLeft, akBottom];