NSIS:有没有办法设置字符串或控件的位置,使它们相互引用?

时间:2010-02-28 09:30:43

标签: installer nsis

我目前正在使用NSIS InstallOptions插件在我的安装程序中创建一些自定义页面。设置要创建的控件的位置时,必须指定应创建控件的位置的确切坐标。当你的安装程序是真正的静态时,这很好,但是我正在努力使安装程序国际化,因此我的字符串的位置和长度会因语言而异。

有没有办法设置字符串/控件的位置,使它们相互引用?我想将字符串A放在一组精确的坐标中,然后将字符串B放在字符串A之后,基本上是说“将字符串B放在字符串A之后”。这是否可以使用nsDialog插件的InstallOptions?

1 个答案:

答案 0 :(得分:0)

您可以写入自定义页面的ini文件来修改位置: 因此,如果我创建这样的自定义页面:

Page custom GetUserParameters_Create GetUserParameters_Leave " - User Parameters"

这样的GetUserParameters.ini文件:

; Ini file generated by the HM NIS Edit IO designer.
[Settings]
NumFields=2

[Field 1]
Type=Label
Text=User Name:
Left=27
Right=109
Top=9
Bottom=20

[Field 2]
Type=Text
Left=27
Right=170
Top=20
Bottom=33

我的GetUserParameters_Create函数我可以修改布局,因为安装选项将ini文件提取到本地用户的pluginsdir。在我完成了我想要的修改后,然后使用INSTALLOPTIONS_DISPLAY加载ini文件:

WriteINIStr "$PLUGINSDIR\GetUserParameters.ini" "Field 2" "Left" "30"
!insertmacro INSTALLOPTIONS_DISPLAY "GetUserParameters.ini"