Inno setup Inno设置-如何使用我想要的名称创建个性化的FilenameLabel?

Inno setup Inno设置-如何使用我想要的名称创建个性化的FilenameLabel?,inno-setup,Inno Setup,如何使用我想要的名称创建个性化的文件名标签?如何实现来自的建议(第三个选项,CurInstallProgressChanged,复制要从隐藏标签显示到自定义标签的文件名) 我看到这个代码: 程序初始化; 开始 使用TNewStaticText.Create(WizardForm)do 开始 父项:=WizardForm.FilenameLabel.Parent; 左:=WizardForm.FilenameLabel.Left; Top:=WizardForm.FilenameLabel.Top

如何使用我想要的名称创建个性化的
文件名标签
?如何实现来自的建议(第三个选项,CurInstallProgressChanged,复制要从隐藏标签显示到自定义标签的文件名)

我看到这个代码:

程序初始化;
开始
使用TNewStaticText.Create(WizardForm)do
开始
父项:=WizardForm.FilenameLabel.Parent;
左:=WizardForm.FilenameLabel.Left;
Top:=WizardForm.FilenameLabel.Top;
宽度:=WizardForm.FilenameLabel.Width;
高度:=WizardForm.FilenameLabel.Height;
标题:=ExpandConstant(“{cm:InstallingLabel}”);
结束;
WizardForm.FilenameLabel.Visible:=False;
结束;

但是,如果可能的话,如何定义我希望使用
CurInstallProgressChanged

的文件名,如您链接的答案中所述:

  • 创建一个新的自定义“文件名”标签
  • 隐藏原始的
    文件名标签
  • 实现将文件名映射到要显示的任何内容,并将其显示在自定义标签上
[文件]
资料来源:“数据1.dat”;DestDir:{app}
资料来源:“数据2.dat”;DestDir:{app}
资料来源:“数据3.dat”;DestDir:{app}
[代码]
变量
MyFilenameLabel:TNewStaticText;
过程初始化Wizard();
开始
MyFilenameLabel:=TNewStaticText.Create(WizardForm);
{克隆文件名标签}
MyFilenameLabel.Parent:=WizardForm.FilenameLabel.Parent;
MyFilenameLabel.Left:=WizardForm.FilenameLabel.Left;
MyFilenameLabel.Top:=WizardForm.FilenameLabel.Top;
MyFilenameLabel.Width:=WizardForm.FilenameLabel.Width;
MyFilenameLabel.Height:=WizardForm.FilenameLabel.Height;
MyFilenameLabel.AutoSize:=WizardForm.FilenameLabel.AutoSize;
{隐藏真实文件名标签}
WizardForm.FilenameLabel.Visible:=False;
结束;
过程curinstalprogresschanged(CurProgress,MaxProgress:Integer);
变量
文件名:字符串;
开始
Filename:=提取文件名(WizardForm.FilenameLabel.Caption);
{将文件名映射到描述}
如果CompareText(文件名'data1.dat')=0,则文件名:='一些搞笑视频'
其他的
如果CompareText(文件名'data2.dat')=0,则文件名:='一些很棒的图片'
其他的
如果CompareText(文件名'data3.dat')=0,那么文件名:='Some cool music';
MyFilenameLabel.Caption:=文件名;
结束;

谢谢你,马丁!但是,当我取消安装时,如何隐藏MyFilenameLabel?Deshaciendo cambios=回滚更改没有这方面的事件。但是您可以尝试安排一个频繁的计时器,并在那里使用与
CurInstallProgressChanged
中相同的代码。