0

是否可以在运行时更改 WizardImageFile?我希望这张照片在某些情况下改变。无法在代码中更改它,{code:GetGraphics} 也不能在 WizardImageFile 参数中使用。有没有人在运行时成功改变它?也许还有另一种方法来设置 WizardForm.WizardBitmapImage 的图片?

4

1 回答 1

4

以下脚本显示了如何根据是早上还是下午有条件地显示两个图像之一。这些图像仅出于此目的包含在设置中,并在初始化向导表单时被提取到设置使用的临时目录中。由于您试图使用代码部分来更改WizardImageFile指令值(这是不可能的),您将使用以下WizardBitmapImage图像WizardForm

[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
OutputDir=userdocs:Inno Setup Examples Output

[Files]
Source: "Image1.bmp"; Flags: dontcopy
Source: "Image2.bmp"; Flags: dontcopy

[Code]
procedure InitializeWizard;
var
  FileName: string;
begin
  if StrToInt(GetDateTimeString('h', #0, #0)) < 12 then
    FileName := 'Image1.bmp'
  else
    FileName := 'Image2.bmp';

  ExtractTemporaryFile(FileName);
  WizardForm.WizardBitmapImage.Bitmap.LoadFromFile(
    ExpandConstant('{tmp}\' + FileName));
end;
于 2013-02-23T11:38:46.633 回答