การตั้งค่า Inno - วิธีจัดตำแหน่ง gif แบบเคลื่อนไหวในตัวช่วยปรับขนาด
ฉันต้องการจัดตำแหน่ง gif แบบเคลื่อนไหวให้อยู่ตรงกลางของทุกหน้าในโปรแกรมติดตั้ง ( WizardSizePercent=150
) โดยไม่ต้องใช้ค่า
นี่คือรหัสของฉัน:
var
ParentForm: TSetupForm;
begin
TimerID := 0;
SlideID := 0;
ContentHeight := ParentForm.Top + ParentForm.Height;
ExtractTemporaryFile('Image1.bmp');
ExtractTemporaryFile('Image2.bmp');
ExtractTemporaryFile('Image3.bmp');
ExtractTemporaryFile('Image4.bmp');
ExtractTemporaryFile('Image5.bmp');
ExtractTemporaryFile('Image6.bmp');
Panel := TPanel.Create(ParentForm);
Panel.Parent := ParentForm;
Panel.Left := 185;
Panel.Top := ParentForm.Top + 130;
Panel.Width := 1000;
Panel.Height := 380;
Panel.Visible := True;
BackImage := TBitmapImage.Create(ParentForm);
BackImage.Parent := Panel;
BackImage.Width:= 1000;
BackImage.Height:= 380;
BackImage.Left := (Panel.Height - BackImage.Height) div 2;
BackImage.Top := (Panel.Height - BackImage.Height) div 2;
BackImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Image1.bmp'));
StartSlideTimer;
end;
ฉันจะมีวิธีการเปลี่ยนค่าของContentHeight
, Panel
และBackImage
?
คำตอบ
สร้างภาพหลังจากที่WizardSizePercentใช้เท่านั้น ดังนั้นเช่นในไม่ได้อยู่ในCurPageChangedInitializeWizard
หรือดีกว่าเพื่อให้มีโซลูชันที่มีประสิทธิภาพมากขึ้นซึ่งใช้งานได้เช่นแม้จะWizardResizableตอบสนองWizardForm.OnResize
ด้วยการอัปเดตพิกัดภาพ (หรือมากกว่าPanel
พิกัด - แม้ว่าฉันจะไม่เข้าใจจุดประสงค์ก็ตาม) ยกตัวอย่างให้ดูการตั้งค่าความกว้างควบคุมถึงครึ่งหนึ่งของเพจที่กำหนดเอง SurfaceWidth ไม่ทำงานอย่างถูกต้องในการติดตั้ง
โปรดทราบว่าคุณไม่สามารถใช้พิกัดคงที่ ภาพของคุณจะไม่อยู่ตรงกลางอย่างถูกต้องเมื่อแสดง DPI สูง ทั้งขนาดพิกัด - สำหรับการตรวจสอบว่าตัวอย่างเช่นInno ภาพการติดตั้งวาง / ควบคุมในเพจที่กำหนดเอง หรือในกรณีของคุณมันจะดีกว่าถ้าคุณคำนวณพิกัดที่อยู่ตรงกลางทางโปรแกรมตามขนาดภาพและหน้าต่าง - สำหรับสิ่งนั้นให้ตรวจสอบในการตั้งค่า Inno ฉันจะจัดกึ่งกลางข้อความในหน้าต่างได้อย่างไร