如何用FilenameLabel
我想要的名字创建个性化的名字?如何实施Inno Setup - 如何在安装时隐藏某些文件名的建议?(FilenameLabel) (第三个选项,CurInstallProgressChanged,将要显示的文件名从隐藏复制到自定义标签\xc2\xa8)。
我看到这段代码:
\n\nprocedure InitializeWizard;\nbegin\n with TNewStaticText.Create(WizardForm) do\n begin\n Parent := WizardForm.FilenameLabel.Parent;\n Left := WizardForm.FilenameLabel.Left;\n Top := WizardForm.FilenameLabel.Top;\n Width := WizardForm.FilenameLabel.Width;\n Height := WizardForm.FilenameLabel.Height;\n Caption := ExpandConstant(\'{cm:InstallingLabel}\');\n end;\n WizardForm.FilenameLabel.Visible := False;\nend;\n
Run Code Online (Sandbox Code Playgroud)\n\n但是,如果可能的话,如何定义我想要的文件名CurInstallProgressChanged
?
正如您链接的答案中所解释的:
FilenameLabel
;CurInstallProgressChanged
将文件名映射到您想要显示的任何内容并将其显示在自定义标签上。[Files]
Source: "data1.dat"; DestDir: {app}
Source: "data2.dat"; DestDir: {app}
Source: "data3.dat"; DestDir: {app}
Run Code Online (Sandbox Code Playgroud)
[Code]
var
MyFilenameLabel: TNewStaticText;
procedure InitializeWizard();
begin
MyFilenameLabel := TNewStaticText.Create(WizardForm);
{ Clone the FilenameLabel }
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;
{ Hide real FilenameLabel }
WizardForm.FilenameLabel.Visible := False;
end;
procedure MapFilename(var Filename: string; Physical, Personalized: string);
begin
if CompareText(Filename, Physical) = 0 then Filename := Personalized;
end;
procedure CurInstallProgressChanged(CurProgress, MaxProgress: Integer);
var
Filename: string;
begin
Filename := ExtractFileName(WizardForm.FilenameLabel.Caption);
// Map filenames to descriptions
MapFilename(Filename, 'data1.dat', 'Some hilarious videos');
MapFilename(Filename, 'data2.dat', 'Some awesome pictures');
MapFilename(Filename, 'data3.dat', 'Some cool music');
MyFilenameLabel.Caption := Filename;
end;
Run Code Online (Sandbox Code Playgroud)