2014-02-12 3 views
2

У меня есть программа установки, где я хочу отображать несколько растровых изображений на странице «wpInstalling». Изображения должны отображаться один под другим.Как отображать несколько изображений на странице wpInstalling в inno setup

+1

Почему вы не объединить эти растровые изображения в единое растровое изображение и дисплей вон тот ? Или я что-то пропущу в твоем * «под другим» *? Пригодится скриншот или лучшее описание. – TLama

+0

3 изображения файлов в строке или один под другим. Я не могу прикрепить изображения, так как у меня нет 10 репутаций. Если вы предоставляете какой-либо скрипт для отображения изображений, я был бы благодарен вам – Axs

+0

Загрузите изображение на imgur.com и разместите ссылку на изображение. Я вложу его в ваш вопрос ... Я написал несколько сценариев для показа слайд-шоу. Например, ['this one'] (http://stackoverflow.com/a/14616734/960757), который включает также воспроизведение музыки. И их будет больше, я думаю ... Но теперь варианты еще лучше с событием 'CurInstallProgressChanged'. – TLama

ответ

1

TLama, вероятно, даст вам лучшее решение, но вы можете попробовать что-то вроде этого (конечно, вы должны изменить его для вашего проекта)

[Files] 
Source: ".\01.bmp"; DestDir: "{tmp}"; Flags: dontcopy nocompression 
Source: ".\02.bmp"; DestDir: "{tmp}"; Flags: dontcopy nocompression 

[Code] 
function InitializeSetup: Boolean; 
begin 
    ExtractTemporaryFile('01.bmp'); //here you extract your first BMP file to temp folder 
    ExtractTemporaryFile('02.bmp'); //here you extract your second BMP file to temp folder 
    Result := True; 
end; 

procedure CurPageChanged(CurPageID: Integer); 
var 
BmpFile1, BmpFile2: TBitmapImage; 
begin 
    if CurPageID = wpInstalling then begin 
     BmpFile1:= TBitmapImage.Create(WizardForm); 
     BmpFile1.Bitmap.LoadFromFile(ExpandConstant('{tmp}\01.bmp')); 
     BmpFile1.Width:= ScaleX(417); 
// here you set Width (417px is Width of ProgressBar) for 1st BMP 
     BmpFile1.Height:= ScaleY(50); 
// here you set Height for 1st BMP 
     BmpFile1.Stretch := True; 
     BmpFile1.Left := WizardForm.ProgressGauge.Left + ScaleX(0); 
// here you set Left position for 1st BMP 
     BmpFile1.Top := WizardForm.ProgressGauge.Top + ScaleY(35); 
// here you set Top posision for 1st BMP 
     BmpFile1.Parent:= WizardForm.InstallingPage; 
     BmpFile2:= TBitmapImage.Create(WizardForm); 
     BmpFile2.Bitmap.LoadFromFile(ExpandConstant('{tmp}\02.bmp')); 
     BmpFile2.Width:= ScaleX(417); 
     BmpFile2.Height:= ScaleY(50); 
     BmpFile2.Stretch := True; 
     BmpFile2.Left := WizardForm.ProgressGauge.Left + ScaleX(0); 
     BmpFile2.Top := BmpFile1.Top + BmpFile1.Height + ScaleY(8); 
     BmpFile2.Parent:= WizardForm.InstallingPage; 
    end; 
end; 
+2

Я сомневаюсь, что есть что-то «лучше», чем то, что вы опубликовали. Хотя мое предложение состоит в том, чтобы объединить эти растровые изображения в один. Даже MS Paint в Windows 95 было бы достаточно для этой задачи. – TLama

+0

Многое спасибо за сообщение – Axs

Смежные вопросы