Inno Setup-크기 조정 된 마법사에서 애니메이션 GIF를 중앙에 배치하는 방법
Aug 20 2020
WizardSizePercent=150
값을 사용하지 않고 내 설치 프로그램 ( ) 의 모든 페이지 중간에 내 애니메이션 GIF를 중앙에 배치하고 싶습니다 .
내 코드는 다음과 같습니다.
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
?
답변
2 MartinPrikryl Aug 20 2020 at 17:39
WizardSizePercent이 적용된 후에 만 이미지를 생성하십시오 . 예를 들어에서가 CurPageChanged아니라 InitializeWizard
.
또는 더 강력한 솔루션을 가지려면 예를 들어에서도 작동 하며 이미지 좌표 (또는 오히려 좌표-목적을 이해하지 못하지만) 를 업데이트하여 WizardResizable응답합니다 . 예제 는 Inno Setup에서 컨트롤 너비를 사용자 정의 페이지 SurfaceWidth의 절반으로 설정하면 올바르게 작동하지 않음을 참조하십시오 .WizardForm.OnResize
Panel
또한 상수 좌표를 사용할 수 없습니다. 이미지가 높은 DPI 디스플레이에서 올바르게 중앙에 있지 않습니다. 좌표를 조정하십시오. 예를 들어 Inno Setup 사용자 정의 페이지에 이미지 / 컨트롤 배치 . 또는 귀하의 경우에는 이미지와 창 크기를 기반으로 프로그래밍 방식으로 중심 좌표를 계산하는 것이 더 좋을 것입니다 . Inno Setup을 확인하십시오 . 어떻게 텍스트를 창 중앙에 배치합니까?