Inno Setup创建多个自定义页面后顺序颠倒问题咨询
Inno Setup 多自定义页面顺序异常问题解答
问题根因
CreateCustomPage 方法的第一个参数为 AfterID,作用是指定新建页面要插入到哪个已有页面的紧邻后方。你两次调用该方法时都传入了相同的 wpWelcome 常量,因此两个页面都会尝试插入到欢迎页之后:
- 第一次调用创建的
Page首先被放在欢迎页后方 - 第二次调用创建的
Page2会被插入到欢迎页后方、第一次创建的Page前方,最终呈现顺序就是Page2显示在Page之前
正确实现方式
如果要按 欢迎页 -> Page1 -> Page2 -> 后续默认页面 的顺序排列,第二次创建 Page2 时需要将 AfterID 参数设置为第一次创建得到的 Page 的ID,修改后代码如下:
var PasswordEdit: TPasswordEdit; UserEdit: TEdit; Page: TWizardPage; Page2: TWizardPage; ... Page := CreateCustomPage(wpWelcome, 'Page1', ''); // 第二个自定义页插入到第一个自定义页的后方 Page2 := CreateCustomPage(Page.ID, 'Page2', '');
如果需要创建更多自定义页面,依次将前一个自定义页面的ID作为下一个页面的 AfterID 参数即可。
内容的提问来源于stack exchange,提问作者Vladimir Yanakiev
相关产品推荐
相关产品推荐

