Installation Inno Setup-从另一个对话框打开目录浏览对话框而不隐藏它
我正在使用以下代码:如何从另一个对话框打开目录浏览对话框而不隐藏它 不幸的是,函数打开的对话框被实现为将Installation Inno Setup-从另一个对话框打开目录浏览对话框而不隐藏它,installation,inno-setup,pascalscript,Installation,Inno Setup,Pascalscript,我正在使用以下代码:如何从另一个对话框打开目录浏览对话框而不隐藏它 不幸的是,函数打开的对话框被实现为将向导窗体作为所有者窗口。这将有效地将所有其他打开的对话框移到向导窗体后面,同时显示“浏览”对话框(请注意,对话框不是隐藏的,它们只是被向导窗体遮住了) 您可以做什么: 从头开始重新执行BrowseForFolder。这是一项艰巨的任务 您可以使用什么来代替您的解决方案。 有关示例,请参见 尽管我必须承认,现在我明白了,需要允许不同文件夹中有不同的文件,但这可能不再是最好的解决方案 作为一
向导窗体作为所有者窗口。这将有效地将所有其他打开的对话框移到向导窗体
后面,同时显示“浏览”对话框(请注意,对话框不是隐藏的,它们只是被向导窗体
遮住了)
您可以做什么:
- 从头开始重新执行
BrowseForFolder
。这是一项艰巨的任务
- 您可以使用什么来代替您的解决方案。
有关示例,请参见
尽管我必须承认,现在我明白了,需要允许不同文件夹中有不同的文件,但这可能不再是最好的解决方案
- 作为一种解决方法,您可以通过滥用不同的浏览对话框实现,而不会出现
BrowseForFolder
的问题:
var
伪造页面:TInputDirWizardPage;
过程BrowseForFolderEx(变量目录:String);
开始
FakePage.Values[0]:=目录;
FakePage.Buttons[0].OnClick(FakePage.Buttons[0]);
目录:=FakePage.Values[0];
结束;
过程初始化Wizard();
变量
NewFolderName:字符串;
开始
NewFolderName:=设置消息(msgButtonNewFolder);
FakePage:=CreateInputDirPage(wpWelcome,,,,,,,False,NewFolderName);
伪造页面。添加(“”);
结束;
函数ShouldSkipPage(PageID:Integer):布尔值;
开始
结果:=(PageID=FakePage.ID);
结束;
使用BrowseForFolderEx
而不是BrowseForFolder
过程选择文件浏览按钮点击(发件人:ToObject);
变量
Dir:字符串;
开始
Dir:=GetSelectFilePath;
BrowseForFolderEx(目录);
选择FilePathEdit.Text:=添加反斜杠(Dir);
结束;