Installation NSIS:有没有一种方法可以设置字符串或控件的位置,使它们相互参照?

Installation NSIS:有没有一种方法可以设置字符串或控件的位置,使它们相互参照?,installation,nsis,Installation,Nsis,我目前正在使用NSIS InstallOptions插件在我的安装程序中创建一些自定义页面。设置要创建的控件的位置时,必须指定创建该控件的确切位置坐标。当您的安装程序是真正静态的时,这很好,但是我正在进行国际化安装程序的操作,因此我的字符串的位置和长度将根据语言的不同而有所不同 是否有一种方法可以设置字符串/控件的位置,使它们相互参照?我想把字符串A放在一组精确的坐标中,然后把字符串B放在字符串A之后,本质上说,“把字符串B放在字符串A之后”。可以使用nsDialog插件的InstallOpti

我目前正在使用NSIS InstallOptions插件在我的安装程序中创建一些自定义页面。设置要创建的控件的位置时,必须指定创建该控件的确切位置坐标。当您的安装程序是真正静态的时,这很好,但是我正在进行国际化安装程序的操作,因此我的字符串的位置和长度将根据语言的不同而有所不同


是否有一种方法可以设置字符串/控件的位置,使它们相互参照?我想把字符串A放在一组精确的坐标中,然后把字符串B放在字符串A之后,本质上说,“把字符串B放在字符串A之后”。可以使用nsDialog插件的InstallOptions吗?

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

Page custom GetUserParameters_Create GetUserParameters_Leave " - User Parameters"
; 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.ini文件,如下所示:

Page custom GetUserParameters_Create GetUserParameters_Leave " - User Parameters"
; 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\u DISPLAY加载ini文件:

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

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

Page custom GetUserParameters_Create GetUserParameters_Leave " - User Parameters"
; 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.ini文件,如下所示:

Page custom GetUserParameters_Create GetUserParameters_Leave " - User Parameters"
; 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\u DISPLAY加载ini文件:

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

这将是很好的接受进一步讨论的答案或输入,因为这也是我感兴趣的主题…对不起,我从来没有跟进这一点。不幸的是,下面的答案不能回答我的问题。我的问题是关于相对布局位置的,下面的答案是绝对位置。我相信我的问题的真正答案是“不,没有办法做到这一点”,但我不确定。接受答案或意见以供进一步讨论是很好的,因为这也是我感兴趣的话题……对不起,我从未跟进过这一点。不幸的是,下面的答案不能回答我的问题。我的问题是关于相对布局位置的,下面的答案是绝对位置。我相信我的问题的真正答案是“不,没有办法做到这一点”,但我不确定这一点。