NSIS: Есть ли способ установить расположение строк или элементов управления так, чтобы они были связаны друг с другом? - PullRequest
2 голосов
/ 28 февраля 2010

В настоящее время я использую плагин NSIS InstallOptions для создания некоторых пользовательских страниц в моей программе установки.Когда вы устанавливаете расположение элементов управления, которые вы хотите создать, вы должны указать точные координаты того, где этот элемент управления должен быть создан.Это нормально, когда ваш установщик действительно статичен, но я делаю шаг к интернационализации установщика, и, следовательно, местоположения и длины моих строк и будет зависеть от языка.расположение строк / элементов управления так, чтобы они были по отношению друг к другу?Я хочу поместить строку A в точный набор координат, а затем поместить строку B после строки A, по сути говоря, «поставить строку B после строки A».Возможно ли это с помощью установки InstallOptions плагинов nsDialog?

1 Ответ

0 голосов
/ 04 марта 2010

Вы можете написать в 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-файл в каталог плагинов локального пользователя. После внесения необходимых изменений я загружаю INI-файл командой INSTALLOPTIONS_DISPLAY:

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